lunes, 31 de diciembre de 2012

Error Parse error: syntax error, unexpected $end en CentOS 6.3


Hoy el último día del 2012 me encontraba programando una aplicación web con soporte para iniciar sesión con Google Apps, Gmail, Facebook y Twitter con PHP, pero me encontre con un problema que me quito un par de horas resolver ya que en el navegador solo aparecia el tan común error 500, revisando un poco más a fondo en los Logs de Apache encontre un poco más a detalle el error me mostraba lo siguiente:

Error Parse error: syntax error, unexpected $end in /var/www/html/miproyecto/index.php

EL error indica que hay un error de sintaxis al final del código, pero revisando mi código veo que todo se encuentra bien, entonces porque el error???, muy simple... me encuentro usando CentOS como distro y por default esta distro se encuentra configurada para entornos productivos, así que para corregir el problema es muy sencillo (de verdad es muy sencillo), solo hay que modificar una directiva en el archivo php.ini para corregir el problema.

La directiva que hay que modificar es short_open_tag que por dafault como comentaba en CentOS se encuentra desactivada, lo que tenemos que hacer es buscar la directiva short_open_tag y habilitarla.

Lo primero que tenemos que hacer es abrir el archivo php.ini con el siguiente comando:

sudo vi /etc/php.ini

Enseguida buscar ela directiva short_open_tag y habilitarla con el valor on.

short_open_tag = on

Esta directiva determina cuando php reconoce los tags la forma en que deben de ser procesados entre <? y ?> o <?php ?> ,es recomendado no usar los tags cortos  de php, si no más bien usar , de esta forma evitar que php confunda y termine de analizar el código de forma incorrecta.

Espero les sea de ayuda este sencillo tip, este es mi último post del 2012.

Feliz año nuevo.