¿Cómo paso variables de entorno a PHP-FPM?

Cómo pasar variables de entorno a PHP-FPM

¿Qué tenemos en la caja?

En un servidor web Linux con PHP-FPM, ¿cómo hacer que las variables de entorno estén disponibles para el motor de scripting PHP? Descúbrelo en este tutorial.

En un servidor Linux, hay varias formas de declarar variables de entorno, y cada aplicación puede comportarse de forma diferente y gestionar las variables de entorno de una manera determinada. Por ejemplo, si tomamos como ejemplo el servidor web Apache2, éste se basa en un archivo : /etc/apache2/envvvars.

En este ejemplo, usaremos un servidor Debian 12 con PHP-FPM 8.2, pero esto se aplica a otros entornos.

1. Configuración de PHP-FPM

Conéctese a su servidor web donde está instalado PHP-FPM. Usando un editor de texto (nano, vi, etc.), necesitará editar el archivo de configuración "www.conf" de PHP-FPM. Puede encontrarlo aquí:

nano /etc/php/8.2/fpm/pool.d/www.conf

Busque la línea siguiente:

clear_env = no
PHP-FPM - Variables de entorno

Podemos ver que el clear_env " se comenta y su valor por defecto es ". " . Esto significa que, por defecto, PHP-FPM impide que las variables de entorno sean leídas y 'reinicia' todas las variables de entorno. Esto significa que no pueden ser leídas, ya sea vía getenv(), $_ENV o $_SERVER.

Esto puede ser un problema en determinados escenarios. Por ejemplo, cuando se necesita depender de un conector ODBC porque esto impide que el LD_LIBRARY_PATH.

En este caso, elimine el carácter ";" al principio de la línea y asegúrese de que la opción está configurada como "no".

clear_env = no

Después de guardar el archivo de configuración, reinicie PHP-FPM :

systemctl restart php8.2-fpm.service

Ahora sólo tienes que probar tu nueva configuración.

Si esto no funciona, vuelva al archivo "www.conf" que editó anteriormente. Bajo la directiva "clear_env", declara tu(s) variable(s) de entorno.

He aquí algunos ejemplos de sintaxis (proporcionados en el fichero de configuración):

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp

Guarde el archivo, reinicie PHP-FPM y pruebe.

2. Conclusión

Después de leer este artículo del cuadro de tutoriales, podrásacceder a las variables de entorno de su máquina Linux dentro de los scripts PHP que se ejecutan en su servidor Web utilizando PHP-FPM !

Recursos :

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *