PHP süreçlerini nasıl giderilir

3 Cevap php

Ben bir kaç şey yok, küçük bir dükkan için PHP komut dosyası inşa ettik.

Initiate a DB connection, and query the DB a couple times. Read/Write Sessions Make a request to PayPal PDT with fsockopen() parse the results save the order to db

After some testing, the server stopped loading. Support let me know that there were 20 PHP processes running (which was the limit) For some reason, they are not closing properly

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
bobbysue 970 0.0 0.1 23836 8708 ? S 15:46 0:00 /usr/local/bin/php5.cgi index.php
bobbysue 1574 0.0 0.1 23836 8708 ? S 15:47 0:00 /usr/local/bin/php5.cgi index.php
bobbysue 2328 0.0 0.1 23840 8708 ? S 15:47 0:00 /usr/local/bin/php5.cgi index.php
bobbysue 4031 0.0 0.1 23836 8704 ? S 15:49 0:00 /usr/local/bin/php5.cgi index.php
bobbysue 7112 0.0 0.1 23836 8708 ? S 15:51 0:00 /usr/local/bin/php5.cgi index.php...

1) How can I troubleshoot my script to see where the problem might lie? 2) How do I make sure processes that startup get terminated properly? Thanks Rich

3 Cevap

Bir PHP hata ayıklayıcı kullanabilirsiniz.

DBG oldukça iyi bir tanesidir. Ben PhpED kullanmak, ama ben DBG çok başka yollar işe yarayacağına inanıyorum.

http://www.php-debugger.com/dbg/

http://www.php-debugger.com/dbg/installation.php

http://www.nusphere.com/products/php%5Fdebugger.htm

Diğer birkaç iyi ücretsiz veya yakın ücretsiz PHP hata ayıklama seçenekleri vardır:

http://www.google.com/search?client=opera&rls=en&q=php+debugger&sourceid=opera&ie=utf-8&oe=utf-8

Bu bir tarayıcıda çalışan daemon süreçleri, ya değilse ya da, büyük olasılıkla bir günlük dosyasına bilgi yazma ile gitmek zorunda kalacak. Ben debug edilebilir emin değilim - google kontrol edin.

Edit

Yorumun Önerilen, XDebug de oldukça iyi görünüyor.

http://xdebug.org/docs/

Update 2

Şimdi de, php-cli DBG'YE ile hata ayıklama gibi görünüyor.

LOP.

Baskı tablolar sürü. App asılı nerede bulun ve orada onunla başa. Bu terminali / apache süreci bağlantısı kesilirse, bir günlük dosyasına komut yazma olabilir.

Tabii ki bir hata ayıklayıcı bunun için çok iyi çalışır ;)

Ben, exection iz ile kurulumu ve kullanımı çok kolay Xdebug kullanıyorum

It could take some time to generate the trace, and it get's massively long, but if one succeeds do isolate the code that one suspects is behaving badly it easier. Xdebug and execution trace

Başka serin şey performans denetimini ve kod zend motor uzun zaman harcıyor nerede görebilirsiniz ki:

Xdebug and Profiling

Google orada Xdebug nasıl kullanılacağı hakkında öğreticiler bir yeri vardır.

PHP üzerinde yuvalarını kullanarak Genelde yanlış gidebiliriz bir çok şey. Sunucusuna bağlı komut çalıştırmak ve configurated nasıl php, hedef sunucunun geri doğru bir cevap gönderiyor, bir zaman aşımı ayarlamak gerekiyor? PayPal API takip ediyoruz olmadığını kontrol edin.

Harici / ortam mesele varsa, aksi takdirde kusursuz kod hata ayıklama uzun zaman harcama sonunda olabilir ;)