PHP uyarılar komut dosyası IIS FastCGI çalıştıran durmasına neden

3 Cevap php

Biz Windows 2003 ve IIS 6. Benim PHP kodu çalıştığında, (ben şu anda bekliyorum ama kısa çözecektir) belirli bir hat üzerinde bir uyarı vardır çalıştıran bir sunucuya yeni bir göç vardır. Bu uyarıyı çarptığında Ancak, hemen işleme durdurdu ve HTTP başlığında bir 500 hatası verir. Normalde, ben çıkış uyarı PHP bekliyoruz, ama senaryoyu işlemeye devam ediyorum.

PHP bir uyarı çarptığında 500 hataları dönen olurdu IIS yapılandırmasında bir şey, FastCGI, veya PHP var mı?

To clarify: Ben uyarıları bastırmak istemiyorum; Onları görüntülemek istiyorum. Ben komut dosyası uyarıları üzerine işlemeyi durdurmak istemiyorum.

3 Cevap

Sorunu çözdüm. log_errors php.ini içinde On için kuruldu, ama error_log unset oldu. Bu şeyi durdurmak için PHP neden oldu. display_errors on ayarladıktan sonra, uyarıları şimdi işler çıktı kırılma nerede ben görebiliyorum gösterilecek.

Bu konu yararlı oldu: http://forums.iis.net/p/1146102/1856222.aspx#1856222

IIS veya FastCGI bilmem, ama afaik php böyle bir seçeneği vardır. Ancak error_reporting için (sizin php.ini olarak) ayarlayabilirsiniz

E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

yapmak için uyarılar gitmek.

Yani kodu içinde karmaşık bir şey yapıyorsun ve bir hata oluşursa, web sunucuları bazen 500 hataları atmak, hem de PHP kodu çok bağlıdır. Ben size öneririm:

  1. Hatayı bastırmak için hat üzerinde bir @ koymak, yani:

    $ X = @ my_function ($ y);

  2. Eğer almak tam bir hata iletisi için web sunucu günlüklerine bakın, daha sonra buradan sonrası ve belki de daha iyi bir çözüm sunabilir.