Eu usei o Apache no Ubuntu é o passado. Existe um envvars
arquivo que contém variáveis de ambiente usadas pelo serviço Apache. Não consigo encontrar esse arquivo para o Windows.
Existem duas abordagens que encontrei para lidar com isso. Encontrei variáveis de ambiente do Windows de leitura do Apache. Mas não gosto disso, pois são globais e não específicos do aplicativo.
Outra opção que encontrei é criar um arquivo .bat, definir variáveis env e iniciar httpd.exe
. Mas o problema com isso é que não funciona com o Apache Service.
Outra opção que encontrei é usar nssm . Ele permite criar serviços personalizados com variáveis de ambiente específicas do serviço. Mas estou recebendo AH00141: Could not initialize random number generator
erro se eu usá-lo.
Existe alguma outra opção alternativa que eu possa usar?
Você pode usar a diretiva SetEnv no Apache para configurar suas próprias variáveis de ambiente específicas para seu aplicativo.
Mais detalhes aqui https://httpd.apache.org/docs/2.4/mod/mod_env.html#setenv Você pode colocar esses valores dentro do seu host virtual ou httpd.conf
Acabei escrevendo um wrapper que substituiu
httpd.exe
. Eu renomeeihttpd.exe
ehttpd2.exe
usei este wrapperhttpd.sh
para executá-lo. Basicamente, ele define temporariamente as variáveis de ambiente do sistema antes de iniciar o serviço apache. Depois que o serviço é iniciado, ele os exclui.