我有一个PHP脚本,它的下载,再缩放和使用以下命令存储的图像:ImageMagick的无法加载远程图像
exec('convert -sample 100x100 http://someurl.com/pic.jpg images/somename.jpg');
这一切都工作得很好,直到我把它放在不同的服务器上(这一个Gentoo的,如果有什么差别。显然,转换不会抢遥控器的图像,如果我给它一个url像上面返回
convert: missing an image filename 'images/somename.jpg' @ convert.c/ConvertImageCommand/2822.
我检查了使用标志,但似乎没有涉及到远程图像..新的服务器是我有权访问的本地机器,所以我几乎可以无论如何 - 我该如何做这项工作?
另一个可能相关的问题是,php的file_get_contents()不会从那里获取远程文件。也许这是一个防止二进制文件获取远程文件的系统范围的设置?有没有人有过这样的问题?你是如何解决它的?
感谢,
麻辣
更新:为了澄清
这个问题(ImageMagick的)无关用PHP。它在我的笔记本电脑上,可以很好地访问互联网,而且与防火墙无关。如果我打开一个外壳并键入
convert -sample 100x100 http://someurl.com/pic.jpg images/somename.jpg
它会因上述错误而失败,甚至无法访问Internet。另一方面,'wget'以及网页浏览器等工作得很好。在其他系统上,输入到shell中时的convert命令没有错误。
,因为我相信它是不相关的上述
虽然我可以通过将它转换为两步式wget→转换过程来解决问题,但我想避免这种情况:我不想处理计时问题和制作shell脚本等。Imagemagick可以加载远程图像,所以我想使用这个功能,而不是只是绕开这个问题。 – Mala 2010-01-07 07:32:11
您需要重新编译ImageMagick(第一个)和PHP(最后一个)。我不会说Gentoo,所以我不知道适当的咒语,但是我会开始查看构建配置文件中的选项。 – 2010-01-07 07:36:20
'convert'仍然无法从shell中调用时获取文件,所以我认为它与php没有任何关系...... ImageMagick中没有任何构建选项似乎与远程文件有任何关系: - \ – Mala 2010-01-07 07:43:51