DEDECMS织梦采集时提示读取网址失败的原因与解决方法

DEDECMS 设置采集规则时,保存测试时,提示读取测试网址失败,不能下载远程图片和资源,不能提取缩略图,是因为服务器上禁用了fsockopen() 与pfsockopen() 函数造成的,在用fsockopen()或fsockopen() 的地方用 stream_socket_client()代替就可以了。

 

具体修改地方是: /include/dedehttpdown.class.php 第507行

$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);

确定服务器是否禁用了fsockopen() 与pfsockopen() 函数,可以使用PHP探针查看服务器的信息,信息中会明确显示是否禁用了这两个函数的。

 

lnmp默认是禁止fsockopen() 与pfsockopen() 函数的.打开的方法:

/usr/local/php/etc/php.ini

下载回本地,检索“disable_functions”,LNMP0.9的默认php.ini文件在第210行,在它后面删除掉“pfsockopen”、“fsockopen”,重启LNMP就解决了,通讯正常,邮件也能正常发送。

后来在LNMP官网上的FAQ中看到了LNMP0.9 部分函数被禁用的说明,“禁用了部分存在危险的PHP函数”,解决办法是:

修改/usr/local/php/etc/php.ini 查找disable_functions 将后面要使用的函数删掉,保存,然后执行:/etc/init.d/php-fpm restart 重启后即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值