viernes, 7 de junio de 2013

El servidor no interpreta código en PHP

Justo después de una actualización en el servidor puede surgir el problema de que el codigo de vuestra pagina en PHP no se interprete correctamente. He aquí algunos de los motivos (y su solución!).

- Cambio en la versión de PHP o Apache. Por defecto, algunas instalaciones nuevas de Apache, des-habilitan por defecto la ejecución de código PHP en directorios personales. La solución es fácil, comentar la directiva que por defecto lo bloquea. La puedes encontrar (normalmente) en:

/etc/apache2/mods-available/php5.conf

Hay que comentar (con #'s delante de la linea) este código (al final del archivo):

#<IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> #</IfModule>

Se puede forzar la interpretación del código en un directorio concreto mediante el archivo htaccess del directorio, añadiendo:

php flag engine on

Nuestra configuracion de apache debe permitir el override de configuración ("AllowOverride Options" or "AllowOverride All" mas info aqui).

- Codificación de los archivos en PHP. Asegurate de que la codificación de los archivos (UTF-8, UTF-16, ANSI) sea compatible. Si no lo es, no sabe como "leerlos", no se interpretan y se muestran como texto.

- Por último, lo más lógico, asegurate que el servicio esta en marcha correctamente, las carpetas tienen los permisos adecuados y revisar que en el error_log no haya otro tipo de incidencia.








No hay comentarios:

Publicar un comentario