2016-09-28 15 views
0

我可以處理除解析和致命錯誤之外的所有php錯誤。當頁面有致命或解析錯誤代碼只是給一個空白頁,所以當php有解析或致命錯誤時,如何重定向500頁。當php有錯誤重定向到500頁

我試着htaccess bu什麼都沒有發生。 這是我的htaccess代碼;

ErrorDocument 500 500.php 
ErrorDocument 501 500.php 
ErrorDocument 502 500.php 
ErrorDocument 503 500.php 
ErrorDocument 504 500.php 
ErrorDocument 505 500.php 
ErrorDocument 507 500.php 

回答

0

如果我沒記錯的話,這是你如何與程序指令更改默認的錯誤頁500:

ErrorDocument 500 /500.html 

那麼你應該捕獲錯誤

error_log = /var/log/apache2/log_name.log 
log_errors = On 

PHP默認會發生這種情況時會返回500錯誤。我多年沒有這樣做,但我認爲你需要設置display_errors關閉。

創建一個新文件並在裏面運行。

<?php 
ini_set('display_errors', 0); 
dummyFunction(); 

另外我的建議是使用錯誤處理程序,將偵聽該錯誤並顯示500錯誤與您需要的一切。

+0

我可以用htaccess更改錯誤頁面,但問題是php錯誤不會丟到500頁,我無法手動重定向頁面,因爲頁面有解析錯誤。 –

+0

更新我的答案嘗試那樣。 – Bogdan

+0

當php有解析錯誤'dummyFunction();'或其他代碼無法正常工作,所以我不能重定向與php代碼 –