Uzak görüntüleri yüklemek mümkün imagemagick

3 Cevap php

Ben bir php komut dosyası, indirme, rescales ve mağazalar aşağıdaki komutu kullanarak bir görüntü var:

exec('convert -sample 100x100 http://someurl.com/pic.jpg images/somename.jpg');

It all worked fine until I put it on a different server (this one's gentoo, if that makes any difference. Apparently convert won't grab remote images, and if I feed it a url like above it returns
convert: missing an image filename 'images/somename.jpg' @ convert.c/ConvertImageCommand/2822.

Ben kullanımı bayrakları kontrol ama hiçbir şey yeni sunucu ben kök erişimi yerel bir makine olduğunu ... uzak görüntülere ilişki gibi görünüyor, bu yüzden hemen hemen her neyse bunun üzerine do can - bu yüzden nasıl ben bu işi yapabilir miyim?

Başka bir olasılıkla, ilgili konu PHP'nin file_get_contents () ya da oradan uzak dosyaları almazsınız olmasıdır. Belki uzak bir yere dosyaları alıyorum ikililer engelleyen bir sistem genelinde bir ayar var? Herkes önce böyle bir sorun oldu? Bunu nasıl çözdünüz?

Thanks,
Mala

Update: To clarify
This problem (imagemagick) has nothing to do with PHP. It's on my laptop which can access the internet just fine, and is not related to firewalls. If I open up a shell and type
convert -sample 100x100 http://someurl.com/pic.jpg images/somename.jpg
it fails with the above error without even trying to access the internet. 'wget' on the other hand, as well as web-browsers etc work just fine. On other systems, the convert command when typed into a shell works with no errors.

Please disregard the file_get_contents problem as I believe it is not related for the reasons above

3 Cevap

Aksine unintuitively, imagemagick uzak görüntüleri yüklemek için with the xml support derlenmiş olmalıdır. Böylece, Gentoo kullanıcıları xml useflag etkinleştirmeniz gerekecektir.

The first thing that comes to mind is a permission problem. Check the permissions on the target directory. make sure imagemagick can actually save files there.

Http sunucusundan PHP run komut ile çalışan farklı izinleriyle çalışır unutmayın.

DC

HTTP üzerinden diğer kaynakları almak yapabiliyor musunuz?

Eğer değilse o zaman sunucu olasılıkla (PHP file_get_contents belirtildiği gibi () fonksiyonu da başarısız) bir güvenlik duvarı erişimi engelleyen hangi etkin vardır.

HTTP üzerinden diğer kaynakları almak mümkün ise o zaman olabilir görüntüyü kapmak için çalışıyorsanız sunucu nedense erişmek engelliyor.

Onun da önemli exec herhangi aramalar PHP gibi aynı kullanıcı olarak programı çalıştırmak unutmayın, böylece PHP olarak çalışır kullanıcı herhangi bir izin sorunları olmadığından emin olmak için.