Error con la función token_get_all() al crear proyecto con Symfony 1.4
Cuando tenemos un servidor recién instalado, nos podemos encontrar con que algunos paquetes necesarios no están instalados en el sistema. Esto me ha ocurrido al intentar generar un nuevo proyecto con Symfony 1.4 en un servidor con OpenSuse 11.1.
Al intentar crear un nuevo proyecto con el comando:
php symfony generate:project miproyecto |
La orden no se ejecutaba en su totalidad y me dejaba unos «bonitos» mensajes de error, relacionados con la función token_get_all():
PHP Notice: Use of undefined constant T_FINAL - assumed 'T_FINAL' in /var/symfony14/lib/util/sfClassManipulator.class.php on line 52 PHP Notice: Use of undefined constant T_ABSTRACT - assumed 'T_ABSTRACT' in /var/symfony14/lib/util/sfClassManipulator.class.php on line 52 PHP Notice: Use of undefined constant T_STATIC - assumed 'T_STATIC' in /var/symfony14/lib/util/sfClassManipulator.class.php on line 52 PHP Notice: Use of undefined constant T_PUBLIC - assumed 'T_PUBLIC' in /var/symfony14/lib/util/sfClassManipulator.class.php on line 52 PHP Notice: Use of undefined constant T_PROTECTED - assumed 'T_PROTECTED' in /var/symfony14/lib/util/sfClassManipulator.class.php on line 52 PHP Notice: Use of undefined constant T_PRIVATE - assumed 'T_PRIVATE' in /var/symfony14/lib/util/sfClassManipulator.class.php on line 52 PHP Notice: Use of undefined constant T_FUNCTION - assumed 'T_FUNCTION' in /var/symfony14/lib/util/sfClassManipulator.class.php on line 52 PHP Fatal error: Call to undefined function token_get_all() in /var/symfony14/lib/util/sfClassManipulator.class.php on line 117 |
Este problema con la función token_get_all() lo solucionaremos instalando la extensión para php «php5-tokenizer»:
zypper install php5-tokenizer |
Me he encontrado este error al generar un nuevo proyecto con Symfony pero nada tiene que ver con el framework. Quizás para cualquier otro proyecto donde no utilicemos Symfony no nos haga falta instalarlo y no lo echemos de menos. Visto lo visto, con Symfony es totalmente necesario tener esta extensión instalada.