检查输入的PHP代码是否返回值

检查输入的PHP代码是否返回值,php,eval,Php,Eval,我试图确保输入textarea的一些PHP代码是有效的并返回一个值 这是我的密码: try { if (!$return = eval($php_code)) { $error = 'The php code field must return a value.'; } } catch (Throwable $e) { $error = $e->getMessage(); } if (isset($error)) { die($error)

我试图确保输入textarea的一些PHP代码是有效的并返回一个值

这是我的密码:

try {
    if (!$return = eval($php_code)) {
        $error = 'The php code field must return a value.';
    }
}
catch (Throwable $e) {
    $error = $e->getMessage();
}

if (isset($error)) {
    die($error);
}

这似乎不起作用。它捕获大多数错误,但是如果我输入类似于
echo'test'的内容它不会产生错误。

我不知道整个代码,但请尝试检查eval()。我通常使用下一个代码作为示例:

$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with $nombre inside.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
根据法律,你应该输入这样的内容

'echo "test";'
不是

echo 'test';