Como fazer o Nginx ler as variáveis de ambiente do Linux?
Tenho um servidor Nginx rodando junto com o PHP, porém não consigo fazer com que as aplicações que precisam acessar o banco de dados Oracle se conectem ao banco, pois preciso acessar as variáveis de ambiente do Linux chamadas ORACLE_HOME e LD_LIBRARY_PATH.
Já quando utilizo o Apache, consigo ler e executar as aplicações perfeitamente, porém quando uso Nginx, não consigo.
Ao executar o comando env no Linux, após exportar as variáveis da biblioteca do Oracle, tenho listado na tela os caminhos abaixo.
LD_LIBRARY_PATH=/usr/local/instantclient_11_2/
ORACLE_HOME=/usr/local/instantclient_11_2/network/admin/
Alguém pode ajudar:hahaha:?
Re: Como fazer o Nginx ler as variáveis de ambiente do Linux?
Amigo voce quer usar o ORACLE com php certo ?
Re: Como fazer o Nginx ler as variáveis de ambiente do Linux?
Então no meu entender as suas variaveis de ambiente devem ser carregadas com seu php-fpm
Re: Como fazer o Nginx ler as variáveis de ambiente do Linux?
Olá amigo, muito obrigado pela resposta.
Sim, eu preciso usar o Oracle com PHP no Nginx especificamente.
Quanto a setar as variáveis no php-fpm.conf, eu já fiz isso e não funcionou. Retirei do arquivo de configuração do php-fpm a seção onde é indicado o local para configurar estas variáveis de ambiente para mostrar-lhe. Será que coloquei alguma sintaxe errada? Veja abaixo o trecho original do arquivo.
Código :
; 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
Se você observar, ele inclusive usa como exemplo a variável LD_LIBRARY_PATH, que é justamente a que preciso fazer com que o Nginx ao executar o código em PHP referenciando a base de dados Oracle reconheça, porém eu já tentei usar as seguintes sintaxes abaixo neste arquivo e não funcionou(vale lembrar que descomentei as linhas antes de inserir os códigos).
1º Tentativa - Tentei desta forma para ver se ele pegava as variáveis de ambiente do LInux e replicava no Nginx com o mesmo nome, mas não funcionou e fiz justamente como interpretei o exemplo.
Código :
env[LD_LIBRARY_PATH] = $LD_LIBRARY_PATH
env[ORACLE_HOME] = $ORACLE_HOME
2º Tentativa - Tentei setar o nome das variáveis assim como fiz no Linux quando dei o comando export, mas também não funcionou.
Código :
env[LD_LIBRARY_PATH] = /usr/local/instantclient_11_2/
env[ORACLE_HOME] = /usr/local/instantclient_11_2/network/admin/
3º Tentativa - Tentei não setar as variáveis no Linux e só deixar no php-fpm.conf do mesmo jeito que fiz acima e também não funcionou.
Código :
LD_LIBRARY_PATH=/usr/local/instantclient_11_2/
ORACLE_HOME=/usr/local/instantclient_11_2/network/admin/
Alguém sabe de mais alguma coisa?
Re: Como fazer o Nginx ler as variáveis de ambiente do Linux?
Que distribuicao voce esta usando ?
Voce ja tentou colocar essas variaveis no script de inicializacao do php-fpm ?