Como fazer com que o PHP seja capaz de ler variáveis de ambiente do sistema

Danack

Estou usando PHP como PHP-FPM no Centos. Estou tentando seguir as diretrizes http://12factor.net/ de armazenar as configurações nas variáveis ​​de ambiente.

Eu criei um arquivo em /etc/profile.d que define as variáveis ​​de ambiente que desejo, e as variáveis ​​de ambiente aparecem quando testadas na CLI via Bash, ou seja, executando o script bash:

echo $SOME_SERVER_SETTING

mostra a saída correta.

Eu defini a configuração clear_env para false e variables_order para EGPCS, no entanto, a variável que eu defini não aparece no PHP getenv('SOME_SERVER_SETTING')ou fazendovar_dump($_ENV)

Que outra configuração precisa ser definida para permitir que o PHP-FPM receba todas as variáveis ​​de ambiente do servidor, e em particular aquelas definidas por meio de um script de shell em /etc/profiles.d no Centos?

Another_a_camel

Razões de segurança :-)

Veja /etc/php5/fpm/pool.d/www.conf(localização debian, pode ser diferente em CentOs)

; Clear environment in FPM workers
; Prevents arbitrary environment variables from reaching FPM worker processes
; by clearing the environment in workers before env vars specified in this
; pool configuration are added.
; Setting to "no" will make all environment variables available to PHP code
; via getenv(), $_ENV and $_SERVER.
; Default Value: yes
;clear_env = no 

; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
; the current environment.
; Default Value: clean env
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como fazer com que a função python use valores do dicionário com base em variáveis de ambiente?

Como fazer com que a saída de minhas variáveis seja classificada do menor ao maior?

Como ler as * novas * variáveis de ambiente do sistema operacional em Python?

Como meu código Java pode ler variáveis de ambiente do sistema operacional?

Onde (ou seja, qual arquivo) definir / atribuir a variável de ambiente em todo o sistema que, por exemplo, nginx pode ler como NODE_ENV no FreeBSD?

Como fazer com que o seletor de data do ngx-bootstrap seja capaz de selecionar e exibir apenas o mês e o ano?

Windows 10 - configuração Java e Maven como meio ambiente e do sistema variáveis com terminal de festa

Como obter variáveis de ambiente do usuário e do sistema separadamente no Windows com C

Como fazer com que o SSIS selecione arquivos específicos no diretório e atribua um nome às variáveis (Tarefa do Sistema de Arquivos)

Como fazer com que o modelo de tempo de compilação do C ++ seja constante?

Como fazer com que o script EMR Steps Crontab não avalie a variável de ambiente?

Podemos ler as variáveis de ambiente do sistema operacional em Java?

Como fazer as variáveis de ambiente alcançarem os trabalhadores do Dataflow como variáveis de ambiente em python sdk

Como fazer com que o vue-cli-service falhe se uma das variáveis de ambiente process.env.VUE_APP_ * não puder ser resolvida

Como ler a variável de ambiente no dispositivo adb e não no sistema atual?

Como fazer com que o Shebang seja capaz de escolher o interpretador Python correto entre python3 e python3.5

Como definir variáveis de ambiente Linux com o Ansible

Como posso fazer com que a função onDidChangeModelContent () do Monaco seja acionada a cada pressionamento de tecla?

Como fazer com que o conteúdo seja exibido dependendo de um determinado usuário kotlin

como fazer com que o evento de clique do vuejs seja síncrono

Como executar o script bash a partir do script npm que exporta variáveis de ambiente

Como substituir a configuração do cliente Blazor com variáveis de ambiente?

Variáveis de ambiente do sistema não acessíveis no script bash

Como o Spring mapeia as variáveis de ambiente do Docker?

Como posso alterar uma variável de ambiente e fazer com que outros aplicativos vejam o valor sem fazer logoff?

Como ler variáveis de ambiente injetadas de compilação antiga de Jenkins

Como fazer com que max () retorne nomes de variáveis em vez de conteúdo das variáveis em R?

R - Como fazer com que max () retorne nomes de variáveis em vez de conteúdo das variáveis?

Como fazer com que max () retorne nomes de variáveis em vez de conteúdo das variáveis em R?

TOP lista

quentelabel

Arquivo