"Yukarı" göreli yolu ile bir dosya eklemek için nasıl

0 Cevap php

Ben bu gibi basit bir komut dosyası eklemek çalışıyorum:

ini_set('include_path', ini_get('include_path').':'.dirname(__FILE__));
include('../configuration/live/database.php');

I (sudo ile) komut dosyasını çalıştırdığınızda, PHP döndürür:

PHP Uyarı: (.. / Yapılandırma / canlı / database.php) şunlardır: on line ev / adil / workspace-netbeans / trunk / uygulamalar / dudu / scripts / ejabberd_populate.php / Böyle bir dosya ya da dizin yok: failed to open stream 17

Açıklama uğruna, database.php de var yok

/ Home / adil / workspace-netbeans / trunk / uygulamalar / dudu / yapılandırması / canlı / database.php

Benim script, dirname içinde (_ FILE _) döner

/ Home / adil / workspace-netbeans / trunk / uygulamalar / dudu / scripts

Bu nedenle, aşağıdaki işler:

include(dirname(__FILE__).'/../configuration/live/database.php')

(Include_path ile) benim kod işe yaramadı neden nedir anlamaya çalışıyorum nedir? Içeren dosyalar include_path aranmaktadır nasıl görmek için bir yolu var mı?

Bu aynı senaryo gayet üretim sunucuda çalışır. Bu aynı dosya hiyerarşisini izler.

Not: En kolay çözüm, bir 'SITE_ROOT' tanımlamak ve içerir prepend için, ama bu yazı için neden değildir. Ben yukarıda çalışmıyor neden bilmek istiyorum.

PS: Ben Ubuntu 10.04 üzerinde PHP 5.3.2 kullanıyorum

0 Cevap