Terminalde php çalıştırırken $ _SERVER ['DOCUMENT_ROOT'] çalışan eşdeğeri

2 Cevap php

. / Somescript: Böyle PHP çağırdığınızda $ _SERVER ['DOCUMENT_ROOT'] döndüren ne dönecektir bazı değişken olup olmadığını merak ediyorum

Eğer değilse, nasıl insanlar bu durumda etrafında alabilirim? Ben web tarayıcısı ve terminalde hem de aynı komut dosyası (şablon derleyici) arama yapabilmek için arıyorum.

Thanks! Matt Mueller

2 Cevap

(Seni demek ki önce chdir yaptık sürece cwd işaret nerede emin olamaz, çünkü ben bunun için getcwd() komutu önermiyoruz zaten) konum hangi dizin biliyorum. Çalışma dizini php config tanımlamak ve apache ve CLI arasında değişir ve bazı php çerçeveler başlangıçta değiştirir olabilir.

dirname(__FILE__) Bir apache veya cli bağlamda konum wether her zaman çalışır (artı Windows ve Unix üzerinde çalışır) kullanın ve proje dosyaları içinde hareket etmek gerekirse, sadece göreli yolları kullanabilirsiniz.

Ben (script en iyi biri olup olmadığını ya da sadece dirname (__FILE__)) Eğer geçerli dizini elde etmek için getcwd işlevini kullanmak gerektiğini düşünüyorum. Sonra sadece DOCUMENT_ROOT gelen komut dosyasını çalıştırmak için emin olmak gerekir. Böyle bir şey:

cd /var/www/
php ./scripts/top.php