Я пытаюсь убедиться, что некоторый 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";
В соответствии с документация по функциям eval Вы должны ввести что-то вроде этого
'echo "test";'
не
echo 'test';