tüm hataları yakalamak ve php ile sayfaya yönlendiriliyorsunuz

3 Cevap php

Evrensel herhangi bir ölümcül hatalar belli bir sayfaya yönlendirmek için php anlatmak için bir yolu var mı ki?

I birçok farklı dosyaları ile bir site var, ve ben ne olursa olsun hata onlar ne sayfası ya da ne, (hala onları oturum açarken) sorunları gizlemek ve aynı hata sayfası kullanıcıyı göndermek istiyorsanız söyleyin.

Sadece ben hataları görmek istemiyorum, ve sayfalar sürekli hataları her 23 ya da 51 sayfa düzenlemeyi neden robotlar tarafından düzenlenen ve güncellenmekte olduğunu tartışmanın uğruna taklit sağlar.

Im belki php.ini dosyasını, ya da htaccess içeren bir şey, ben geniş siteyi yapabilirim şey arıyor.

3 Cevap

Sen 'ErrorDocument' direktifi ile Apache varsayılan 500 hata sayfası değiştirebilirsiniz:

ErrorDocument 500 /500.html

Bu 500.html için 500 Internal Server hata yönlendirir. Sen de orada bir PHP sayfasını kullanın ve atıfta sayfasını posta olabilir.

Bir error.log dosyasına bu oturum açabilirsiniz hataları yakalamak için. Php.ini dosyasında aşağıdaki iki direktif kullanın:

error_log = /var/log/httpd/error_php  
log_errors = On

Apache yeniden unutmayın.

İlk olarak, hata iletileri bastırmak ve günlüğünü etkinleştirmek için php.ini değiştirmek:

 display_errors=Off
 log_errors=On
 error_log=whatever/path

(Bu bir de ölü var yakalar, set_error_handler aksine) bir hata işleyicisi yazın

register_shutdown_function('errorHandler');
function errorHandler() {
   $err = error_get_last();
   if($err)
     include "error_page.php"; // your custom error page
}

Bir dosyada bu kodu koyun ve (auto_prepend_file bakın @ http://php.net/manual/en/ini.core.php) her requrest dahil edebilmek php söyle