如何在PHP中包含文件中捕获语法错误?

时间:2015-03-20 17:27:03

标签: php plugins error-handling syntax-error

我正在开发一个插件系统,当然需要include插件文件。到目前为止,一切都运作良好 - 例外得到了捕获等。

但我最后的愿望是甚至可以安全地避免包含语法错误的损坏的插件文件。有没有办法在包含的文件中捕获致命错误?

1 个答案:

答案 0 :(得分:4)

runkit_lint()需要PHP runkit,或者只需使用php Lint运行-l

if(strpos(exec('/path/to/php -l filename.php'), 'No syntax errors detected') !== false) {
    // file parses :-)
} else {
    // parse errors :-(
}

或类似的逻辑。请注意,这只检查解析错误而不是致命错误(要求失败等)