zend2框架中预期的帧错误数组

MrS*_*ith 6 zend-framework2 php-7

我遇到的问题只发生在我的直播系统上.该系统适用于zend2和PHP7.问题是我的warning.log被淹没了以下消息:

2017-07-10T08:43:50 + 02:00 ERR:帧X的预期数组{"Code":0,"File":"vendor/zendframework/zend-log/src/Formatter/Base.php","行":105}

X是0到25之间的数字.在这些大量错误的最后,我得到另一个错误:

2017-07-10T10:29:34 + 02:00 ERR:无法写入{"Code":0,"File":"vendor/zendframework/zend-log/src/Formatter/Base.php","Line" :111}

我没有看到正确的堆栈跟踪,看看它来自何处,我无法在我的本地开发机器上重新解决问题.

任何帮助,将不胜感激.

编辑: 一位同事告诉我这个错误信息来自PHP7的C级.有谁知道如何获得正确的堆栈跟踪?或者问题可能是什么?

我试图抓住错误

...try{
    return (string) $value;
} catch(\Throwable $e){
    file_put_contents('error.txt',var_export($e,true),FILE_APPEND);
    file_put_contents('value.txt',var_export($value,true),FILE_APPEND);
    return (string) $value;
}
Run Code Online (Sandbox Code Playgroud)

但似乎无法捕捉到这个错误.这表明我的同事的信息是正确的.

B.A*_*lin 0

你的 try/catch 的想法:

Zend\Stdlib\ErrorHandler::start(E_ALL);
$return = (string) $value;
$exception = Zend\Stdlib\ErrorHandler::stop();

file_put_contents('error.txt', var_export($exception, true), FILE_APPEND);
file_put_contents('value.txt', var_export($value, true), FILE_APPEND);

return $return;
Run Code Online (Sandbox Code Playgroud)