我们新配置了一台服务器但在使用
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); |
|
保存之后试一下看看是不是可以了,当然如果
服务器不能上外网也有可能不能下载远程图片到
本地,那就另当别论了。
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法下载,联系站长索要。
如有侵犯您的版权,请给我们来信:admin@cniao8.com,我们尽快处理。