香港独立IP空间
香港php空间
美国php空间
域名注册

昨天无忧主机淘宝店铺上卖出去了一个香港独立IP虚拟空间,因为客户是做企业微信公众号的,今天无忧主机小编一上旺旺就弹出求救信号,刚一连上客户说:我在你们空间安装的这个程序,后台生成菜单时出现500错误哦!二货不说,让用户提供一下空间信息,小编就开始去测试程序,分析出了解决办法。
错误再现:这是一款微企业微信程序,500提示如下:
登陆微企后台,选中你要操作的公众号,功能管理,选择3G站>>微信导航菜单管理>>生成自定义菜单,就会提示500。

file0001 微企业微信程序后台生成自定义菜单时报500服务器错误之解决办法

截图

无忧主机小编在测试的时候发现,这段生成自定义菜单的文件代码,只适合windows系统里面,而并非在无忧主机特色系统空间的Linux系统里面,是无法执行的,才会提示500.
为此,最终解决方法如下:
小编我重写了该文件的三个方法,这里站长们再也不用担心微信程序无法再无忧主机上执行啦!
修改文件:../weiqiye/Lib/Action/User/DiymenAction.class.php
用FTP工具把文件DiymenAction.class.php下载到本地,然后用高级记事本编辑,替换三个重写方法,重写之后的方法如下:
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];
}
找到这个方法后,替换即可。如果还在无忧主机购买了空间遇到网站程序上的其他问题,不要担心,无忧主机技术部是您强大的后盾。

本文地址:http://www.51php.com/others/14440.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档