如何检查代码是否在 eval() 中执行


How to check if code is being executed inside eval()?

如何检查实际执行的一行代码是否从 eval() 函数内部运行?有人必须处理这样的事情吗?

我要

感谢瑞安·文森特的建议!

function is_eval() { $debug = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); foreach ($debug as $step => $trace) { // ignore class calls if (isset($trace['class'])) { continue; } if (isset($trace['function']) && 'eval' === $trace['function']) { return true; } } }

把它放在你的评估函数中。

debug_to_console( "代码运行" );