2016-10-01 101 views
1

我試圖找到如何強制php服務器在解析php文件失敗時拋出錯誤500。原因是我使用PHP來構建後端服務。我只能在.htaccess文件中做到這一點。當php失敗時顯示500錯誤

在這個階段我的錯誤是完全啓用的,所以當在php中出現問題時,我會收到很好的消息,問題在哪裏。

當php文件中有語法錯誤時,如何禁用顯示錯誤並只拋出500?我試圖在網上找到的大多數案例都會遇到相反的問題:D

回答

0

這是您需要的嗎?

function my_error_handler() 
    { 
    $last_error = error_get_last(); 
    if ($last_error && $last_error['type']==E_ERROR) 
    { 
    header("HTTP/1.1 500 Internal Server Error"); 
    echo '...';//html for 500 page 
    } 
} 
register_shutdown_function('my_error_handler'); 
0

看起來像你想使用.htaccess來啓用/禁用您的PHP錯誤顯示。

.htaccess你可以設置php.ini的params如下。

php_flag display_startup_errors on 
php_flag display_errors on 
php_flag html_errors on 
php_flag log_errors on 
php_value error_log /home/path/public_html/domain/PHP_errors.log 

基本上,.htaccess是好主意,因爲這將反映在您的項目級別而不是服務器級別。

+0

這仍然顯示標準的分析錯誤,如:解析錯誤:語法錯誤,意外'$ email'(T_VARIABLE)在/www/htdocs/w0123ddc/mydomian.com/pub/v1/activate on line 19'。在這種情況下,我需要500錯誤 – sumofighter666

+0

您可以使用'ErrorDocument 500 http:// example.com/500 /'if 500然後它將重定向到500頁。 –

+1

您可以使用'php_value error_reporting 0'隱藏'.htaccess'中的分析錯誤。 –