CMS教程

当前位置:首页 > CMS教程 >

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

时间:2015-06-03        阅读:次        QQ群:182913345

我们新配置了一台服务器但在使用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调用自定义字段的方法

下一篇:织梦数据库导入提示USING BTREE 错误

扫一扫,更多精彩内容推送

PHP技术分享

分享PHP技术,前端技术,数据库,SEO优化,服务器,网络安全等知识,是php程序员工作学习的好帮手!

Copyright © 2013-2015.PHP技术分享 www.php520.cn  版权所有  网站地图    PHP学习交流群

免责声明:网站内容收集于互联网,本网站不承担任何由于内容的合法性及健康性所引起的争议和法律责任。

欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。 沪ICP备15014499号-2