Dedecms无法保存远程图片到本地服务器的解决方法

   2015-08-02 0
核心提示:这篇文章主要为大家介绍了Dedecms无法保存远程图片到本地服务器的解决方法,针对这一问题对服务器配置及相关代码作了较为详尽的分析,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Dedecms无法保存远程图片到本地服务器的解决方法。分享给大家供大家参考。具体分析如下:

我们新配置了一台服务器但在使用dedecms系统时发现远程图片都无法本地化了,就是无法保存远程服务器图片到本地了,出现这种问题我想了可能几个原因,下面我们一起来看看解决办法.

原因分析:dedecms 远程图片本地化用到函数 fsockopen函数,所以我们要求空间相应目录可写外还要求php的allow_url_fopen 选项设置为On.

修改PHP的配置文件,找到php.ini变更内容,php.ini 文件里:

复制代码
代码如下:
"allow_url_fopen = On"

为了防止WEB变种攻击LINUX虚拟主机PHP 禁用allow_url_fopen功能,引用allow_url_fopen功能在客户站点里运行恶意程序.

如果上面解决不了我们看看是不是upload_tmp_dir没开打开:

upload_tmp_dir = "C:/php/tmp"

此项没有设置,将upload_tmp_dir项前面的分号去掉,并在后面添加好路径,上传就OK了,给C:/php/tmp目录users读取权限即可解决问题,当然如果你没有服务器权限,那么我们只要在程序上进行操作了.

具体修改地方是 /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);

保存之后试一下看看是不是可以了,当然如果服务器不能上外网也有可能不能下载远程图片到本地.

希望本文所述对大家的dedecms建站有所帮助。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行