加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

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

发布时间:2020-12-14 05:16:01 所属栏目:Dedecms 来源:网络整理
导读:我们新配置了一台服务器但在使用dedecms系统时发现远程图片都无法本地化了,就是无法保存远程服务器图片到本地了,出现这种问题我想了可能几个原因,下面我们一起来看看解决办法. ? 原因分析: ? dedecms 远程图片本地化用到函数 fsockopen函数,所以我们要求空间
我们新配置了一台服务器但在使用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,10);
保存之后试一下看看是不是可以了,当然如果服务器不能上外网也有可能不能下载远程图片到本地,那就另当别论了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读