点击在新窗口中浏览此图片

  最近又申请了一些国外的免费空间,打算做为新站的过渡期……

  新站用的是wordpress,兼容性还是相当好的,几乎在任何一个免费空间上都可以很好地裸奔运行。但是在安装了一些插件后,问题就出来了。

  我安装的是一个首页显示缩略图插件,其原理是自动下载文章内的外链图片到本地,然后自动缩略图片。但是我发现我装了以后首页无法显示图片,而同样的我在本地电脑上测试的时候一切正常。翻来覆去检查,随后发现可能是服务器环境配置的问题,导致远程图片本地化无能。

  询问了插件作者该插件对服务器环境配置的要求,他也不太清楚,只是说file_get_content这个函数报错会导致无法下载远程图片。

  又找了一些资料,远程下载图片是利用PHP的一个函数来读取文件数据,然后在本地建立一个jpg或gif后缀的文件保存下来。有一篇文章说使用php读取远程文件有4种方式:fopen(),file_get_contents(),curl函数,socket函数。而其中fopen()与file_get_contents()需要在php.ini配置文件中激活allow_url_fopen选项。

  问题渐渐明了了,大家都知道很多国外免费空间都没有开启allow_url_fopen,因为开启这个选项,一般就能使用极耗资源的采集功能,包括下载远程图片本地化,这会占用大量服务器资源。像dede本地化图片用的函数跟ddos用的是一种,同样也比较容易受到攻击。另外,这也是为什么很多国外空间无法安装discuz的原因,因为discuz也要求allow_url_fopen开启。

  所以远程图片本地化要求空间相应目录可写外,还要求php的allow_url_fopen选项设置为On。如果你能编辑php.ini,那就自己改一下好了,一般这样就能正常下载远程图片了。

  以上是远程图片本地化的必要条件,但并不是说有了这些就一定可以远程图片本地化了。像我用godaddy家的win主机php的allow_url_fopen是打开的,但仍就无法下载远程图片,郁闷啊~~不知道还有哪个参数不对……

  有没有高手知道远程图片本地化具体还需要哪些服务器环境参数?

作者:懒小爱@禁爱庄园
地址:http://www.loveif.com/post/200/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

瓶子无芯 Says: Email Homepage
2010/07/13 23:32
wp插件越装越慢
懒小爱 回复于 2010/07/14 09:41
尽量只装几个用得到的。
QHD苹果 Says: Email Homepage
2010/07/04 13:55
免费的不能好用的。
分页: 1/1 第一页 1 最后页
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我 [注册]