怎么解决的dedecms无法保存远程图片到本地服务器

有些时候我们想保存图片到本地服务器的时候发现保存不了,比喻我们自己拷贝自己的站点到另外一个服务器等等,下面模板之家徐国祥分享Dedecms无法保存远程图片到本地服务器的解决方法。分享给大家供大家参考。具体分析如下:

一、设置错误导致
 
1、错误设置如下图。这里不能为空也不可以只为/
 
2、正确设置如下图,填入你的网站网址,才能http请求远程图片
 
二、修改代码实现方法
 
我们新配置了一台服务器但在使用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);
保存之后试一下看看是不是可以了,当然如果服务器不能上外网也有可能不能下载远程图片到本地.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值