我正在开发一个插件系统,当然需要include
插件文件。到目前为止,一切都很好——异常被捕获等等。
但我最后的愿望是,甚至可以避免包含语法错误的损坏插件文件。有没有办法在包含的文件中捕获致命错误?
有一个runkit_int()需要PHP runkit,或者只需使用lint:的-l
选项运行php
if(strpos(exec('/path/to/php -l filename.php'), 'No syntax errors detected') !== false) {
// file parses :-)
} else {
// parse errors :-(
}
或者类似的逻辑。请注意,这只检查解析错误,而不是致命错误(要求失败等)