2010-05-14 20 views
9

He configurado en mi archivo custom.conf en este apache2:¿Cómo agrego rutas a la variable Apache PATH?

SetEnv PATH $PATH:/opt/local/lib/mysql5/bin:/this-is-a-test 

Sin embargo, no está funcionando. Cuando llamo:

$hey = shell_exec('env'." 2>&1"); var_dump($hey); 

me sale:

... PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin 

¿Alguien puede ayudar? Estoy en Mac usando Macports para mi entorno de desarrollo. Gracias!

Respuesta

2

Me parece terriblemente extraño que intente configurar el PATH desde Apache. En su lugar, debe establecer la RUTA de su sistema. Hay varias maneras de hacer esto en Mac OS X:

específica del usuario
para un solo usuario, puede editar ~/.profile y añaden:

export PATH="$PATH":/opt/local/lib/mysql5/bin:/this-is-a-test 

o puede crear/edite ~/.MacOSX/environment.plist y defina el PATH de esa manera.

todo el sistema de
En las versiones más recientes de Mac OS X, no es un archivo llamado "/ etc/caminos" y hay una carpeta con el nombre "/etc/paths.d" que le permiten ampliar el rutas predeterminadas. Básicamente, crearía un archivo en "/etc/paths.d" que enumera todas las rutas que desea agregar a las rutas predeterminadas. En las versiones de Mac OS X que no son compatibles (se puede determinar si existe/usr/libexec/path_helper), se pueden editar las rutas predeterminadas para todos los usuarios colocando la declaración de exportación en/etc/profile.

+0

Michael, gracias por responder. Mis archivos .profile y .bash_login tienen las rutas especificadas, pero PHP que se ejecuta en Apache no los reconoce. Acabo de probar la opción /etc/paths.d/, pero parece que tampoco funcionó, ¿tengo que reiniciar la máquina para que estos entren en vigencia? Reinicié Apache - nada. – TylerNZ

+0

@TylerNZ, debe cerrar, reabrir la Terminal y luego reiniciar Apache desde su entorno en el que se definen esas variables. –

+0

intenté eso, todavía nada ... Creo que se necesita hacer algo específico para apache o para el usuario raíz, ¿con qué apache se está ejecutando? – TylerNZ

8

para el servidor de Ubuntu, en/etc/apache2/envvars, para el servidor centos, en/etc/sysconfig/httpd, para añadir:

export PATH=<your php cli path> 

y reiniciar Apache

0

Esta pregunta es viejo, pero en caso de que ayude a otros, si está usando Windows con mod_fcgid, compruebe si tiene el FcgidInitialEnv configurado en su httpd.conf, y quítelo para adoptar System PATH.

Cuestiones relacionadas