【发布时间】:2016-08-24 20:39:08
【问题描述】:
我有一个 PHP 脚本,它从数据库中选择许多 PHP 代码 sn-ps 之一并使用 eval 执行它。在某些情况下,如果两个代码 sn-ps 尝试声明具有相同名称的函数,我会收到致命错误“无法重新声明函数”。在代码 sn-ps 中编辑函数名称不是一种选择。有没有办法创建一个范围或者让函数相互覆盖?还是有其他更好的想法?
谢谢。
编辑:循环这段代码。
ob_start();
try {
$result = eval($source_code);
} catch(Exception $e) {
echo "error";
}
$error = ob_get_clean();
【问题讨论】:
-
我们能看看你到底想做什么吗?
-
@DevDonkey 我可以完美地看到代码!你不是通灵者还是什么?接受它:-)
-
如果您发布一些我们可能会提供帮助的代码,否则如果没有重命名函数或将其移动到类中,您可能会很不走运。你也可以使用
function_exists -
放弃评估!
-
@DevDonkey 好了。