2016-10-01 107 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'中的分析错误。 –