问题分析:dedecms 远程图片本地化用到函数 fsockopen函数,环境要求空间相应目录可写外还要求php的allow_url_fopen 选项设置为On.
修改PHP的配置文件,打开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文件
找到
$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);
保存之后试一下看看是不是可以了。