首页 > 代码库 > 织梦dedecms 无法下载远程图片 fsockopen函数被禁用的解决方法
织梦dedecms 无法下载远程图片 fsockopen函数被禁用的解决方法
在linux服务器上fsockopen()函数被无情的禁用了(这其实是出于安全考虑,可以理解),下载远程图片的功能就没有办法使用了。找了一些资料之后,找到了解决方法,就是用stream_socket_client()函数替换掉fsockopen()函数。具体的方法如下:
打开/include/中的dedehttpdown.class.php文件,找到如下代码:
$this->m_fp = @fsockopen($this->m_host, $this->m_port, $errno, $errstr,10);
替换成:
$this->m_fp = stream_socket_client("".$this->m_host.":".$this->m_port, $errno, $errstr, 10);
保存,然后上传,就可以了。
图集的采集也需要改一下,修改位置为:
打开/include/中的dedecollection.func.php文件,找到如下代码:
$m_fp = fsockopen($ghost, 80, $errno, $errstr,10);
改成如下:
$m_fp = stream_socket_client("".$ghost.":80", $errno, $errstr, 10);
查找:
$m_fp = fsockopen($ghost, 80, $errno, $errstr,10) or die($ghost.‘<br />‘);
改为如下代码:
$m_fp = stream_socket_client("".$ghost.":80", $errno, $errstr, 10) or die($ghost.‘<br />‘);
即可。
织梦dedecms 无法下载远程图片 fsockopen函数被禁用的解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。