新聞中心
微企業(yè)微信程序后臺(tái)生成自定義菜單時(shí)報(bào)500服務(wù)器錯(cuò)誤之解決辦法
昨天無憂主機(jī)淘寶店鋪上賣出去了一個(gè)香港獨(dú)立IP虛擬空間,因?yàn)榭蛻羰亲銎髽I(yè)微信公眾號(hào)的,今天無憂主機(jī)小編一上旺旺就彈出求救信號(hào),剛一連上客戶說:我在你們空間安裝的這個(gè)程序,后臺(tái)生成菜單時(shí)出現(xiàn)500錯(cuò)誤哦!二貨不說,讓用戶提供一下空間信息,小編就開始去測(cè)試程序,分析出了解決辦法。
錯(cuò)誤再現(xiàn):這是一款微企業(yè)微信程序,500提示如下:
登陸微企后臺(tái),選中你要操作的公眾號(hào),功能管理,選擇3G站>>微信導(dǎo)航菜單管理>>生成自定義菜單,就會(huì)提示500。
[caption id="attachment_14441" align="alignnone" width="550"] 截圖[/caption]
無憂主機(jī)小編在測(cè)試的時(shí)候發(fā)現(xiàn),這段生成自定義菜單的文件代碼,只適合windows系統(tǒng)里面,而并非在無憂主機(jī)特色系統(tǒng)空間的Linux系統(tǒng)里面,是無法執(zhí)行的,才會(huì)提示500.
為此,最終解決方法如下:
小編我重寫了該文件的三個(gè)方法,這里站長(zhǎng)們?cè)僖膊挥脫?dān)心微信程序無法再無憂主機(jī)上執(zhí)行啦!
修改文件:../weiqiye/Lib/Action/User/DiymenAction.class.php
用FTP工具把文件DiymenAction.class.php下載到本地,然后用高級(jí)記事本編輯,替換三個(gè)重寫方法,重寫之后的方法如下:
function api_notice_increment($url, $data)
{
return $this->HttpRequest($url,$data);
}
function curlGet($url)
{
return $this->HttpRequest($url);
}
function HttpRequest($url,$data = false)
{
$udp = parse_url($url);
if($udp['scheme'] == 'https' || $udp['scheme'] == 'HTTPS')
$ssl = true;
else
$ssl = false;
$host = $ssl ? 'ssl://'.$udp['host'] : $udp['host'];
$fp = fsockopen($host,($ssl ? 443 : 80) ,$errno,$errstr,60);
if(!$fp) return false;
stream_set_timeout($fp,60);
$type = $data ? 'POST' : 'GET';
$out = $type.' '.$udp['path'].( isset($udp['query']) ? '?'.$udp['query'] : '' )." HTTP/1.0 \r\n";
$out .= 'Host: '.$udp['host']." \r\n";
$out .= "Content-type: application/x-www-form-urlencoded \r\n";
if($type == 'POST')
{
$out .= "Content-length: ".strlen($data)." \r\n";
}
$out .= "Connection: Close\r\n";
$out .= "Accept: */* \r\n\r\n";
if($type == 'POST')
{
$out .= $data;
}
if(!fputs($fp,$out)) return false;
$ls = '';
$start_time = time();
while(!feof($fp))
{
$l = fread($fp,1024);
$status = stream_get_meta_data($fp);
if($status['timed_out'])
{
return false;
}
if(time() - $start_time >= 60)
{
return false;
}
$ls.= $l;
}
if(empty($ls)) return false;
$ls = explode("\r\n\r\n",$ls,2);
$status = explode("\r\n",$ls[0]);
$status = explode(" ",$status[0]);
if($status[1] != 200) return false;
return $ls[1];
}
找到這個(gè)方法后,替換即可。如果還在無憂主機(jī)購買了空間遇到網(wǎng)站程序上的其他問題,不要擔(dān)心,無憂主機(jī)技術(shù)部是您強(qiáng)大的后盾。
本文地址:http://m.love62.cn/others/14440.html
![1](/wp-content/themes/starow_z/img/o-1.png)
![1](/wp-content/themes/starow_z/img/o-2.png)
![1](/wp-content/themes/starow_z/img/o-3.png)
![1](/wp-content/themes/starow_z/img/o-4.png)
![1](/wp-content/themes/starow_z/img/o-5.png)
![1](/wp-content/themes/starow_z/img/o-6.png)
![1](/wp-content/themes/starow_z/img/o-7.png)