25 de Junio de 2007

Como solucionar Parse Error: syntax error, unexpected $end

En ocasiones puede darse el caso de que estemos usando una plantilla (theme) de WordPress o un plugin, funcionando perfectamente, y sin embargo al actualizar la versión de PHP o al mover nuestra web a otra compañía de alojamiento web, deje de funcionan y nos muestre el siguiente error:

Parse Error: syntax error, unexpected $end

Es un error bastante común, porque es muy fácil reunir las condiciones para hacerlo saltar.

Basicamente suele deberse a uno de estos dos motivos:

  1. En alguna parte del código falta una llave de cierre (símbolo }, también llamado curly bracket).
  2. El PHP instalado no admite en su configuración el uso de etiquetas PHP en formato abreviado (”<?” en lugar de “<?php” ).

Por fortuna para nosotros ambos casos tienen fácil solución, aunque en el primer supuesto si el código a revista es muy extenso puede ser un auténtico quebradero de cabeza…

Así que como digo, si sospechamos que en nuestro caso el error es el primer supuesto, nos tocará revisar todo el código del archivo php que hace saltar el error (y de cualquiera que llamemos desde este mediante includes), para localizar la definición de clase que nos hemos olvidado de cerrar.

Por lo tanto es un problema que inevitablemente tenemos que solucionar “a mano” y con paciencia, no obstante si usamos un buen editor que nos resalte las distintas partes de código PHP con distintos colores, probablemente nos sea mucho más fácil de localizar el error.

Y en el segundo caso, cuando se trata del uso de las etiquetas abreviadas de PHP (short open tags), lo mejor para solucionar el error y dar máxima compatibilidad a nuestro código es sustituir cualquier etiqueta PHP en formado abreviado por su correspondiente en formato extendido, es decir:

Sustituir <? por <?php

Para hacerlo podemos usar sin problemas la opción “buscar y reemplazar” del editor que usemos, ya que no cabe duda de que cada vez que encuentre el primer formato, la acción a realizar será cambiarlo por el segundo (no puede haber nada en el código que se confunda con esto).

Aunque si hay demasiado código que modificar o como solución de emergencia, siempre que tengas acceso a modificar el archivo php.ini, puedes activar la compatibilidad con las etiquetas abrevidadas con la siguiente línea en tu php.ini (posiblemente ya exista, pero con valor off):

short_open_tag = On

13 Comentarios en » “Como solucionar Parse Error: syntax error, unexpected $end”

  1. El 15/08/07 a las 16:54 doris dijo:

    Me ayudo mucho la nota de esta pagina, tenia rato intentando acomodar el error del $end, y nada hasta que me di cuenta que era un corchete, jejeje…algo tonto pero suele suceder…GRACIAS¡

  2. El 18/09/07 a las 17:52 Cibernetiko dijo:

    Soy estudiante y estoy aprendiendo PHP y errores como falta de uan llave son comunes si fueran tan amabels de pasar direcciones para ver manuales se los agradeceria thank you

  3. El 19/09/07 a las 19:12 skate1010 dijo:

    Gracias es una importante aportacion a veces un error pequeño te consume bastante tiempo .

    Saludos

  4. El 16/10/07 a las 16:33 Rosan dijo:

    Hola,este artículo me fue de gran ayuda, espero sigan aportando muchas más ideas y soluciones a estos pequeños problemas con la programación que muchas veces nos hacen perder la cabeza. Gracias!

  5. [...] Samuel Aguilera de agamum.net tenia un post hecho para todos quienes pasemos por este ‘problemita’. [...]

  6. Gracias!!!!!!!!!!!

    Y lo digo así porque estaba hasta la coronilla. Todo un día revisando código y demases.

    Un Millón de Gracias y NO Te Mueras nunca!!!!!!

  7. El 07/02/08 a las 13:22 Anya dijo:

    MUCHISISISISISMAS GRACIAS!!!!!
    ME SALVASTE !!!! ;)
    MUAAAAAAAAAAAAAAAAAAAAAAAAA

  8. El 24/02/08 a las 22:41 Mario dijo:

    asu muchas graciass

  9. El 18/05/08 a las 07:46 noel dijo:

    gracias……chuchas…estaba loco…

  10. El 20/05/08 a las 16:56 neo dijo:

    La verdad es que a mi si me ayudo esto, faltaba una “}” en el codigo.

    Gracias!

  11. xa gracias, no podia entrar a la administracion de usuarios

  12. El 03/07/08 a las 19:35 Alushe dijo:

    Gracias por la solucion

  13. El 17/07/08 a las 10:38 DrHouse dijo:

    Gracias me ayudo mil este post .. jejeje saludos

Deja un comentario

El autor del blog se reserva el derecho a no publicar los comentarios que contengan direcciones de email falsas o que considere no apropiados. Los comentarios que no guarden relación con la entrada donde se hagan serán borrados sin contemplaciones.