您好!欢迎来到创咯网

创咯网

热门搜索:

解决Discuz! X3.4 不支持fsockopen和allow_url_fopen环境提示Authorization Error!

分类: 时间:2018-11-18 22:36 浏览:662
阿里云
资讯详情页摘要上方横幅-820*100
概述
解决Discuz! X服务器禁止了外部访问权限allow_url_fopen,,导致 Authorization Error! Unable to connect to server!fsockopen()不支持该函数需要 php.ini 中 allow_url_fopen 选项开启。站长端解决方案:服务器的php.ini文件设置关闭了a
内容

解决Discuz! X服务器禁止了外部访问权限allow_url_fopen,,导致 Authorization Error! Unable to connect to server!

fsockopen()

不支持

该函数需要 php.ini 中 allow_url_fopen 选项开启。



站长端解决方案:

服务器的php.ini文件设置关闭了allow_url_fopen,如果你是租用的服务器或者虚拟主机,需要联系服务商。

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.

allow_url_fopen = On

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.

allow_url_include = Off



其他云主机服务器排查问题步骤如下:
1、首先查看php是否有禁用相关函数

找到php.ini ,打开,查找“disable_functions”,看后面是否列出了禁用函数,如果有fsockopen,说明此函数已经被禁用,直接去除此函数重新php服务,看问题是否解决,一般没有必要不必禁用函数,可将=后面的函数名全去除

2、查看allow_url_fopen是否开启

在php.ini中查找“allow_url_fopen”,看=后面是否为On,如果是Off 则说明,些函数被关闭,我们只需修改为On ,重起php服务,再去看问题是否解决

3、修改extension=php_openssl.dll

在php.ini中查找“extension=php_openssl.dll”,将前面的“;”去掉,然后重起php服务,看问题是否解决.
注:.dll是windows 特有的。如果是Linux主机,可不必尝试这个办法。



服务端解决方案:

 

服务器禁用了allow_url_fopen同时禁用了fsockopen pfsockopen,那么用其他函数代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的参数不同。
具体操作:
搜索程序中的字符串 fsockopen( 替换为 stream_socket_client( ,然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。
示例如下
修改前:
$fp = fsockopen($host, 80, $errno, $errstr, 30);
修改后:
$fp = stream_socket_client($host."80", $errno, $errstr, 30);


评论
阿里云
联系我们
底部广告
阿里云
联系客服
网站客服 联系客服
手机版

扫一扫进手机版
返回顶部