Uso de variables de entorno en PHP

Definición de variable de entorno

Las variables de entorno PHP permiten que sus scripts obtengan ciertos tipos de datos dinámicamente del servidor. Esto admite la flexibilidad de scripts en un entorno de servidor potencialmente cambiante. Por ejemplo, la variable SITE_HTMLROOT proporcionada por (mt) Media Temple proporcionará automáticamente la ruta correcta a la raíz del documento en cualquier servidor de cuadrícula, sin necesidad de ningún cambio en el script. (mt) Media Temple proporciona varias docenas de variables como esta para su conveniencia.

LÉEME PRIMERO

Este artículo se proporciona como cortesía. La instalación, configuración y solución de problemas de aplicaciones de terceros está fuera del alcance de la asistencia proporcionada por (mt) Media Temple. Por favor, tómese un momento para revisar la Declaración de Apoyo.

Uso y ejemplos

Puede acceder a estas variables utilizando las matrices $_SERVER y $_ENV.

Por ejemplo, si desea utilizar la variable SITE_HTMLROOT mencionada anteriormente, puede crear una variable en su script PHP similar a la siguiente:

Nombre de archivo: entorno.php

$site_path_var = $_SERVER;

Esto creará una variable con un valor similar al siguiente:

/home/00000/domains/example.com/html

Si desea probar la salida de la variable, agregue una instrucción echo a su script PHP. Por ejemplo:

Nombre de archivo: entorno.php

$site_path_var = $_SERVER;echo $site_path_var;

Ahora visite su script en su navegador para ver la salida.

NOTA:

$_SERVER y $_ENV son PHP superglobal matrices. No tienen que declararse como variables globales. NO coloque la siguiente línea en su archivo:

Nombre de archivo: entorno.php

global $_SERVER;

Uso práctico

En la cuadrícula, es particularmente útil usar algunas variables de entorno seleccionadas, por tres razones. En primer lugar, si alguna vez decide reutilizar un script en un dominio diferente de la Cuadrícula, no tendrá que cambiar todas sus variables. En segundo lugar, las variables suelen ser más convenientes que la ruta larga y los nombres de servidor utilizados para la arquitectura de cuadrícula. En tercer lugar, el equilibrio de carga de la cuadrícula ocasionalmente requiere que los sitios y las bases de datos se desplacen a diferentes máquinas físicas, lo que puede cambiar su entorno. Esto no es una ocurrencia común, pero es una parte esencial de la funcionalidad de la cuadrícula.

  • $_SERVER
    La ruta completa a la raíz del documento de su sitio, devuelve resultados como /home/00000/domains/example.com/html.
  • $_ENV – El nombre del servidor de base de datos interna, devuelve una salida como internal-db.s00000.gridserver.com.

Lista completa de variables proporcionadas

Cree un phpinfo.página php para ver todas las variables provistas por el Templo de medios (mt). Vea nuestro «Cómo puedo crear un phpinfo.página php?»artículo para detalles, prestando atención a la sección de Variables PHP de la página para la información relevante.

Phpinfo_vars

Establecer sus propias variables

En PHP

En la Cuadrícula, puede establecer sus propias variables de entorno que durarán dentro de la sesión que las creó. Por ejemplo, si desea usar una variable de entorno personalizada en un script, puede agregar las siguientes líneas para crear y, a continuación, usar una variable:

Nombre de archivo: entorno.php

$_ENV="new_variable";$new_variable_var = $_ENV;

Nota: Estas variables de entorno no durarán fuera de la sesión en la que se crearon.

En .htaccess

También puede hacer que Apache establezca variables de entorno para su uso en sus scripts, a través de un archivo .htaccess, utilizando reglas SetEnv o in Rewrite. Estas variables deben comenzar con ‘HTTP_’ por motivos de seguridad.

SetEnv HTTP_MY_VARIABLE "my value"

Información del servidor fácil de usar

Si desea ver la información del sistema en un formato más fácil de usar, consulte la Guía del servidor de Cuadrícula. Las secciones Conexiones de base de datos y Rutas de acceso del sistema contienen información útil sobre su entorno de servidor.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.