我試圖找到如何強制php服務器在解析php文件失敗時拋出錯誤500。原因是我使用PHP來構建後端服務。我只能在.htaccess文件中做到這一點。當php失敗時顯示500錯誤
在這個階段我的錯誤是完全啓用的,所以當在php中出現問題時,我會收到很好的消息,問題在哪裏。
當php文件中有語法錯誤時,如何禁用顯示錯誤並只拋出500?我試圖在網上找到的大多數案例都會遇到相反的問題:D
我試圖找到如何強制php服務器在解析php文件失敗時拋出錯誤500。原因是我使用PHP來構建後端服務。我只能在.htaccess文件中做到這一點。當php失敗時顯示500錯誤
在這個階段我的錯誤是完全啓用的,所以當在php中出現問題時,我會收到很好的消息,問題在哪裏。
當php文件中有語法錯誤時,如何禁用顯示錯誤並只拋出500?我試圖在網上找到的大多數案例都會遇到相反的問題:D
這是您需要的嗎?
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');
看起來像你想使用.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
是好主意,因爲這將反映在您的項目級別而不是服務器級別。
這仍然顯示標準的分析錯誤,如:解析錯誤:語法錯誤,意外'$ email'(T_VARIABLE)在/www/htdocs/w0123ddc/mydomian.com/pub/v1/activate on line 19'。在這種情況下,我需要500錯誤 – sumofighter666
您可以使用'ErrorDocument 500 http:// example.com/500 /'if 500然後它將重定向到500頁。 –
您可以使用'php_value error_reporting 0'隱藏'.htaccess'中的分析錯誤。 –