hhvm-fastcgi没有显示警告

时间:2014-06-15 16:49:53

标签: nginx fastcgi hhvm

我在Hginx上使用HHVM 3.1.0(rel),而fastcgi没有显示警告,但是在控制台上显示运行hhvm。 这是正常的吗?

我的php.ini:

error_reporting = E_ALL
display_errors = 1

hhvm.error_handling.call_user_handler_on_fatals = false
hhvm.error_handling.max_loop_count = 0
hhvm.error_handling.no_infinite_recursion_detection = false
hhvm.error_handling.throw_bad_type_exceptions = true
hhvm.error_handling.throw_too_many_arguments = true
hhvm.error_handling.warn_too_many_arguments = true
hhvm.error_handling.throw_missing_arguments = true
hhvm.error_handling.throw_invalid_arguments = true
hhvm.error_handling.enable_hip_hop_errors = true
hhvm.error_handling.notice_frequency = 1
hhvm.error_handling.warning_frequency = 1

hhvm.debug.full_backtrace = true
hhvm.debug.server_stack_trace = true
hhvm.debug.server_error_message = true
hhvm.debug.translate_source = true

1 个答案:

答案 0 :(得分:1)

我有同样的问题,stack question

经过大量挖掘后我发现了问题。没有为HHVM设置error_handler。所以你需要自己设置。

我写了一个看起来像PHP的简单的,虽然不完整,即错误级别

set_error_handler(function ($errorNumber, $message, $errfile, $errline) {
    switch ($errorNumber) {
        case E_ERROR :
            $errorLevel = 'Error';
            break;

        case E_WARNING :
            $errorLevel = 'Warning';
            break;

        case E_NOTICE :
            $errorLevel = 'Notice';
            break;

        default :
            $errorLevel = 'Undefined';
    }

    echo '<br/><b>' . $errorLevel . '</b>: ' . $message . ' in <b>'.$errfile . '</b> on line <b>' . $errline . '</b><br/>';
});