É possível usar variables ​​de ambiente no php.ini?

Em vez de fazer fiação em alguns caminhos na configuração do meu php.ini, gostaria de configurá-los usando variables ​​de sistema que são compartilhadas em alguns outros locais, como minha configuração do Apache. Eu fiz algumas pesquisas e não consegui encontrar a combinação certa de palavras-chave para descobrir se existe uma maneira de fazer isso.

Alguém sabe se isso pode ser feito?

upload_tmp_dir = $SCRATCH_HOME/uploads 

Agora, SCRATCH_HOME pode ser exportado no ambiente como / tmp ou / var / scratch ou o que quer que seja.

Esse recurso não está bem documentado. Antes de começar, eu só quero especificar minhas configurações: estou usando Windows 7-64bit, PHP 5.4.3, Apache HTTP Server 2.2.x, estabeleci minha variável ambiental PHP_HOME=C:\tools\php-5.4.3 (diretório de instalação do PHP). Uso a variável no meu arquivo httpd.conf e php.ini

Nota: vou omitir algum texto por brevidade.

No arquivo 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}" 

No arquivo php.ini

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

De acordo com os documentos do PHP , as variables ​​de ambiente podem de fato ser usadas no arquivo de configuração.

Captura de tela de php docs com URL e nota sobre envvars sendo permitidos em PHP.ini

Não diz nada sobre a syntax a ser usada, mas é o mesmo que o arquivo de configuração do Apache que usa a syntax * nix. Então, por exemplo, se você quiser que o PHP use o diretório temporário do sistema, você usaria isso:

 upload_tmp_dir = ${Temp} 

Você pode confirmar que está ativo com o seguinte script:

  

Tente configurar PHP através de arquivos de configuração Apache :

 PHP_admin_value upload_tmp_dir $SCRATCH_HOME/uploads 

Funciona bem para mim. (psst, você não pode alterar upload_tmp_dir usando .htaccess)

    Intereting Posts