检查外部PHP文件中的致命错误?

时间:2012-11-05 00:37:36

标签: php error-handling

从我的index.php文件中,比方说,我想检查另一个PHP文件是否正确执行(并包含它,如果是这样),如果它确实失败并返回致命错误,我' d显然不喜欢它。有什么建议?感谢...

3 个答案:

答案 0 :(得分:1)

您可以使用-l CLI的php parameter

php -l filename.php

并解析输出。

$o = `php -l filename.php`;

if (strpos($o, 'No syntax errors detected') !== false) {
    echo 'No errors';
} else {
    echo 'There are errors';
}

答案 1 :(得分:0)

您可能不希望单独运行第二个文件。也就是说,你可以做两件事之一......

1。)如果你真的想把它当作一个单独执行的包含你可以用CURL这样的东西来调用它,并让它输出预期结果或失败消息,然后相应地读取和处理。

2.。)在try / catch语句中包含函数/类/ etc执行,以正确处理遇到的任何错误。使用此方法http://php.net/manual/en/language.exceptions.php可能会对您有所帮助。

答案 2 :(得分:0)

这将脚本作为一个单独的进程运行,没有共享变量/函数/状态/范围等......

$cmd = 'php file.php';
exec($cmd, $ar, $exit_status);
$wasFatal = $exit_status == 255;

有一个很好的机会,它运行的php.ini与你的网络服务器php.ini不同,所以期待配置甚至是php版本的差异。