有没有办法让Apache / PHP日志专门为什么要返回500?

时间:2011-08-09 16:03:03

标签: php apache logging error-handling

我理解在各种不同场景下可以返回500响应,但是有没有办法让服务器具体导致500?或者就此而言将其打印到PHP页面/输出?

修改

我在MediaTemple的网格服务上,显示错误在phpinfo()中,以下是我的PHP代码:ini_set('display_errors',1); error_reporting(E_ALL|E_STRICT);

并且在我的托管配置中打开了错误日志记录,但是当我tail日志时,当我点击刷新时没有任何内容出现。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

500错误的原因应该在Apache的错误日志中。如果PHP负责,那么如果php.ini中有display_errors = On,则错误将显示在屏幕上。

答案 1 :(得分:0)

您可以尝试:

$log_file = 'c:temp\test_error.txt';
register_shutdown_function('handleShutdown');

function handleShutdown() {
    global $log_file;
    $error = error_get_last();
    if ($error !== NULL) {
        $info = "[SHUTDOWN] file:" . $error['file'] . " | ln:" . $error['line'] . " | msg:" . $error['message'] . PHP_EOL;
        file_put_contents($log_file, $info, FILE_APPEND);
    } else {
        file_put_contents($log_file, "SHUTDOWN ", FILE_APPEND);
    }
}