我错过了php doc中的内容吗?
我在我的set_exception_handler
上设置了一个index.php
来捕获异常(来自librairies),并避免因未捕获的异常而导致PHP致命错误。
当我用Apache运行我的脚本时我没有问题(该功能正确地捕获了异常)。
但是当我尝试使用PHP cli(php -r 'include "index.php";'
)时,我得到了PHP致命错误。
有什么想法吗?
- index.php
set_exception_handler('exception_handler');
throw new Exception("Test exception");
function exception_handler($e) {
echo '-- excemption handler --';
$toLog = '['.date('d/m/Y H:i:s').'] '.$e->getMessage()."\n".$e->getTraceAsString();
var_dump($toLog);
}
答案 0 :(得分:0)
要运行代码,您应该使用
php index.php
这不会显示致命错误。
运行时
php -r'include“index.php”;'
它实际上以php脚本的形式执行语句。而这个脚本本身不会处理自己的致命错误。