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