gpt4 book ai didi

php - eval() 和 PHP 错误

转载 作者:行者123 更新时间:2023-12-03 07:51:33 25 4
gpt4 key购买 nike

我有一个像这样的评估函数

if(FALSE === @eval($code)) echo 'your code has php errors';

因此,如果代码有语法错误,它将返回该消息。

问题是,如果在代码中你有类似的东西:
  require_once('missing_file.php');

它只会打破页面,没有我漂亮的错误消息:(

有什么解决方法吗?

最佳答案

好吧,首先我希望$code来自受信任的来源,并且您正在执行用户发送的任意代码。

其次,我认为您可以解决的唯一方法是保存 $code进入一个文件,使用命令行 PHP 解释器运行它,并检查退出值。请注意,通过此测试不会使 $code没有 fatal error ,恰好这个脚本的特定执行没有引发任何 fatal error ;可能还有其他代码路径会触发此类错误。

这是因为曾经 eval触发 fatal error ,无法恢复并且脚本终止。 eval只返回 FALSE如果有解析错误。

关于php - eval() 和 PHP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com