我有一個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