2010-05-14 14 views
9

apache2 dosyasında custom.conf dosyasında bu ayarı yaptım:Apache PATH değişkenine nasıl yollar eklerim?

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

Ancak çalışmıyor. Aradığım zaman:

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

Alacağım:

... 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 

Birisi yardımcı olabilir mi? Geliştirme ortamım için Macports'u Mac'te kullanıyorum. Teşekkürler!

cevap

2

PATH'u Apache'den ayarlamaya çalıştığınız için bana çok garip geliyor. Bunun yerine, sisteminiz için PATH ayarını yapmalısınız. ~/.profile

Kullanıcıya özel tek bir kullanıcı için
, düzenleyebilir ve ekleyin:: Orada Mac OS X Bunu yapmak için birkaç yolu vardır

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

Yoksa oluşturabilir/~/.MacOSX/environment.plist dosyasını düzenleyin ve PATH'ı bu şekilde tanımlayın.

Sistem çapında Mac OS X'in yeni sürümlerinde
, "/ etc/yolları" ve genişletmek için izin "/etc/paths.d" adlı bir klasör vardır adında bir dosya varsa varsayılan yollar. Temel olarak, varsayılan yollara eklemek istediğiniz tüm yolları listeleyen "/etc/paths.d" dosyasında bir dosya oluşturabilirsiniz. Bunu desteklemeyen Mac OS X sürümlerinde ("/ usr/libexec/path_helper" ifadesinin var olup olmadığını anlayabilirsiniz), ihracat ifadesini yukarıdaki/etc/profile yerleştirerek, tüm kullanıcılar için varsayılan yolları düzenleyebiliriz.

+0

Michael, yanıt verdiğiniz için teşekkürler. .profile ve .bash_login dosyalarının her ikisi de belirtilen yollara sahiptir, ancak Apache üzerinde çalışan PHP bunları tanımaz. Sadece /etc/paths.d/ seçeneğini denedim, fakat bu da işe yaramadı, makineyi etkilemek için makineyi yeniden başlatmam gerekiyor mu? Apache'yi yeniden başlattım - hiçbir şey. – TylerNZ

+0

@TylerNZ, Terminali kapatıp yeniden açmanız ve ardından Apache'yi bu değişkenlerin tanımlandığı ortamınızdan yeniden başlatmanız gerekir. –

+0

bunu denedi, hala hiçbir şey ... Apache'nin ya da apache'nin çalıştığı kök kullanıcı için özel bir şey yapılması gerektiğini düşünüyorum. – TylerNZ

8

, eski, ancak diğerlerine yardımcı olur, mod_fcgid ile Windows kullanıyorsanız, FcgidInitialEnvhttpd.conf ayarında olup olmadığını kontrol edin ve Sistem Parolasını kabul etmek için kaldırın.

0

apache

export PATH=<your php cli path> 

ve yeniden Bu soru şudur:/etc/// eklemek sysconfig/httpd/Envvars, centos sunucu için vb apache2 in ubuntu sunucu için