15 octubre 2013

Consideraciones nginx con soporte php y mysql en Fedora 19

Hace tiempo que escribí varios posts sobre la instalación de nginx con soporte de php. Eran otros tiempos y nginx era mucho menos popular, conseguir soporte de php mediante fastcgi era un poco más complicado, aunque finalmente el resultado era satisfactorio.

Últimamente trabajo más con apache y quería darle un repaso a cómo está en la actualidad nginx y aprovechando un par de máquinas virtuales que tengo montadas con kvm, me he puesto manos a la obra.

En primer lugar ha sido una grata sorpresa el ver que tengo todos los paquetes necesarios en los repositorios de Fedora. Lo sospechaba, por algún artículo que había leído sobre ello y el utilizar el yum para instalar simplmemente lo constató-

Una vez superado el paso de la instalación, procedo a instalar php-fpm, que es la "nueva" manera "enganchar" con php nginx.

Aquí comienzan a suceder cosas extrañas. Intento acceder a un "index.php" con un "phpinfo()", y muestra una página en blanco. Analizo los logs y veo que tengo código 200, pero no me muestra nada. Me sumerjo en los foros, y al final encuentro el error.

En la línea de php correspondiente a la ejecución del script, en el fichero de configuración trae esta línea:

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

Esta línea hay que cambiarla por ésta:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


Una pequeña tontería, pero que me tenía un poco parado, porque no sabía por dónde seguir

Después continué con php y también pude ver un par de cosas "raras".

Como no tenía soporte de mysql decidí instalar el módulo necesario para tener soporte. Cuando lo hice pude observar, que en la configuración de php me indica que no tiene soporte de php, sin embargo, si bajamos en la página del phpinfo, podemos ver que sí tengo soporte php.


En esta captura podemos ver todo lo que me indica que está deshabilitado, incluído el soporte gd:



A continuación se puede ver cómo si tengo soporte de gd y de mysql, por ejemplo:





Son pequeñas tonterías, que no molestan demasiado, pero cuando llevas un tiempo alejado de esta manera de tener soporte de php, te sorprenden un poc.

Supongo que profundizando en la documentación se podrá encontrar la respuesta a este comportamiento, así que en cuanto tenga un ratillo investigo un poco más a ver que sacamos en claro.