PHP exec () kilitleniyor, Hata 500

2 Cevap php

So, my plan is to make small thumbnails of URL's with PHP and IECapt. IECapt works well, a nice command line tool, gets the full sized image of specified URL in 1 to 4 seconds. But my problem is to execute it trough PHP. This is the code I've trying to get working:

exec('IECapt.exe ' . escapeshellarg($URL) . ' ' . escapeshellarg($Filename))

$ URL tabii URL ve $ dosya URL basitleştirilmiş bir sürümüdür.

Sometimes I get the IECapt to snap the image(trough PHP), but it takes awfully long (30-60s), and in the end I always get a 500-error, with no error messages to tell me what's wrong. Both variables are fine, they work manually with commandline:

IECapt http://google.com Google.png

My server set-up is IIS7 and PHP5.2.9, if relevant. (Windows Vista, all on my personal computer, so full access.)

Herhangi bir fikir?

2 Cevap

Probably the execution time is exceeded, and your script is killed. http://us3.php.net/manual/en/info.configuration.php#ini.max-execution-time

Eğer yapılandırma dosyasını düzenlerken sonra, bu hata iletileri ekran üzerinde aynı zamanda kontrol, böylece (On display_errors ayarlanır) ekranınızda olsun

Palantir dediği gibi, bu varsayılan PHP yürütme süresini aşan oluyor. (Yani bir kaç saniyeden fazla) uzun bir zaman alması muhtemel herhangi bir eylem, bir web tarayıcısında PHP aracılığıyla çalıştırmak edilmemelidir.

Sen uyumsuz eylemler bu tür çalıştırmak için bir komut dosyası CLI (komut satırı) yazmak gerekir. CLI komut varsayılan yürütme zaman limit yok.

http://php.net/cli daha fazla bilgi için bkz:

(Yani bu tür eylemlerin 100'ler işlemek zorunda) bu tür şeyleri çok dong iseniz sorun bu tür çözmek için tasarlanmış mesaj sıralarında bir göz atmalısınız. Bkz http://framework.zend.com/manual/en/zend.queue.html

Web tarayıcısı ağır işlem için doğru yer değil :)