Pregunta

Yo sólo quiero que mi apache para registrar algunos de mi entorno predefinidos para que yo pueda recuperar el uso de la función getenv en php.¿Cómo puedo hacer esto?He intentado añadir /etc/profile.d/foo.sh con la exportación de FOO=bar, baz el uso de root y reiniciar apache.

¿Fue útil?

Solución

Las variables de entorno son heredados por los procesos en Unix.Los archivos en /etc/profile.d sólo se ejecutan (en la shell actual, no en un subshell) al iniciar la sesión.Simplemente cambiando el valor allí y, a continuación, reiniciar un proceso de no actualizar el entorno.

Posibles Soluciones:

  • sesión/registro en, a continuación, iniciar apache
  • fuente el archivo: # . /etc/profile.d/foo.sh, a continuación, reinicie el servidor apache
  • fuente el archivo en el script de inicio de apache

Usted también necesita asegurarse de que /etc/profile.d/ es procedente cuando Apache se inicia por init en lugar de a ti mismo.

La mejor solución podría depender también de la distribución está utilizando, debido a que utilizan diferentes esquemas para la configuración.

Otros consejos

Puede utilizar SetEnv en su fichero de configuración (/etc/httpd/conf.d/*.conf, .htaccess ...).Además, usted debe ser capaz de definir en /etc/sysconfig/httpd (en RPM basado en distribs) y exportación ellos (nota:no probado).

Nota:no me sorprendería si algunas distribuciones intentado muy duro para ocultar tanto como sea posible, tan lejos como la configuración del sistema se refiere, a partir de un acceso público del servicio, tales como Apache.Y si no es así, se podría empezar a hacer esto en una versión futura.Por lo tanto te aconsejo que para hacer esto de forma explícita.Si necesita compartir un ajuste entre el Apache y sus conchas, usted podría tratar de abastecimiento /etc/profile.d/yourprofile.sh de /etc/sysconfig/httpd

Los archivos de configuración de Apache permite configurar las variables de entorno en cada sitio.

Así que si su servidor web está sirviendo páginas a partir de dos lógicas de los sitios que usted puede tener la misma variable de entorno de establecer de forma diferente para cada sitio y así obtener su PHP para reaccionar de manera diferente.

Ver el Apache mod_env para más detalles:

Si usted necesita env variables para Apache sólo, lo que funcionó para mí fue la edición de la /etc/apache2/envvars y el reinicio de Apache.He añadido estas opciones:

export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top