zoukankan      html  css  js  c++  java
  • 织梦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 />');

    即可。

  • 相关阅读:
    学习Linux二(创建、删除文件和文件夹命令)
    合理的需求
    两种事件触发的jquery导航菜单
    JS中this关键字
    Hibernate的session问题
    JQUERY图片特效
    学习Linux一(安装VMware和Ubuntu)
    A标签跳转问题
    WEBSERVICE简介
    IE下设置Cursor的一点记录
  • 原文地址:https://www.cnblogs.com/cnteam/p/4130548.html
Copyright © 2011-2022 走看看