找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 211|回复: 0

[cms教程] 织梦Dede模板无法保存远程图片到本地服务器的解决方法

[复制链接]

该用户从未签到

发表于 2021-9-16 15:37:03 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我们新配置了一台服务器但在使用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);
                       
               
       

保存之后试一下看看是不是可以了,当然如果服务器不能上外网也有可能不能下载远程图片到本地,那就另当别论了。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-1 22:37

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表