Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

eval() Without Try

The eval() command throws an error in case of unparsable PHP code. This error can be caught, to handle gracefully the situation, with a try-catch structure.

It is recommended to always use try-catch when dealing with eval().

It is possible to differentiate a parse error in the host code from a parse error in the eval() string with the error message: when it is in the eval() string, the error message mention eval: Parse error: syntax error, unexpected identifier "a" in file.ph : eval()'d code on line 1.

PHP code

<?php

try {
    eval('A = 1');
} catch (Error $e) {
    echo $e->getMessage();
}

?>

Before

Parse error: syntax error, unexpected '='

After

syntax error, unexpected token "="

PHP version change

This behavior changed in 7.0.

Analyzer

© 2023-2026, Damien Seguy - Exakat