variable son las from cuales create archivo ambiente php configuration environment-variables

son - ¿Es posible utilizar variables de entorno en php.ini?



php system variables (3)

De acuerdo con los documentos de PHP , las variables de entorno pueden ser utilizadas en el archivo de configuración.

No dice nada sobre qué sintaxis usar, pero es lo mismo que con el archivo de configuración de Apache que usa la sintaxis * nix. Entonces, por ejemplo, si quieres que PHP use el directorio temporal del sistema, usarías esto:

upload_tmp_dir = ${Temp}

Puede confirmar que está activo con el siguiente script:

<?php echo "ini: " . ini_get(''upload_tmp_dir'') . "/n"; echo "env: " . sys_get_temp_dir() . "/n"; echo "temp: " . getenv(''temp'') . "/n"; echo "tmp: " . getenv(''tmp'') . "/n"; ?>

En lugar de cablear algunas rutas en mi configuración de php.ini, me gustaría configurarlas utilizando variables del sistema que se comparten en otros lugares, como mi configuración de Apache. He hecho algunas búsquedas y no pude encontrar la combinación correcta de palabras clave para descubrir si hay una manera de hacerlo.

¿Alguien sabe si esto se puede hacer?

upload_tmp_dir = $SCRATCH_HOME/uploads

Ahora SCRATCH_HOME se puede exportar en el entorno como / tmp o / var / scratch o como quiera que sea.


Esta característica no está bien documentada. Antes de comenzar, solo quiero especificar mis configuraciones: estoy usando Windows 7-64bit, PHP 5.4.3, Apache HTTP Server 2.2.x, configuré mi variable de entorno PHP_HOME=C:/tools/php-5.4.3 (directorio de instalación de PHP). Uso la variable en mi archivo httpd.conf y php.ini

Nota: omitiré un poco de texto por brevedad.

En el archivo httpd.conf

# For PHP 5 do something like this: LoadModule php5_module "${PHP_HOME}/php5apache2_2.dll" AddType application/x-httpd-php .php # configure the path to php.ini PHPIniDir "${PHP_HOME}"

En el archivo php.ini

; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "${PHP_HOME}/ext"


Intente configurar PHP a través de los archivos de configuración de Apache :

PHP_admin_value upload_tmp_dir $SCRATCH_HOME/uploads

Funciona bien para mi (psst, no puedes cambiar upload_tmp_dir usando .htaccess)