Я пытаюсь включить простой скрипт, подобный следующему:
ini_set('include_path', ini_get('include_path').':'.dirname(__FILE__));
include('../configuration/live/database.php');
Когда я запускаю скрипт (с помощью sudo), PHP возвращает:
Предупреждение PHP: include (../configuration/live/database.php): не удалось открыть поток: нет такого файла или каталога в /home/adil/workspace-netbeans/trunk/applications/dudu/scripts/ejabberd_populate.php в строке 17
Для пояснения, database.php существует в
/ home / adil / workspace-netbeans / trunk / Applications / dudu / configuration / live / database.php
В моем сценарии dirname (__ FILE__) возвращает
/ home / adil / workspace-netbeans / trunk / Applications / dudu / scripts
Следовательно, следующие работы:
include(dirname(__FILE__).'/../configuration/live/database.php')
Что я пытаюсь понять, почему мой код (с include_path) не работает?Есть ли способ узнать, как искать включаемые файлы в include_path?
Этот же скрипт отлично работает на нашем производственном сервере.Он следует той же файловой иерархии.
Примечание. Самое простое решение - определить 'SITE_ROOT' и добавить в него включения, но это не причина для этого поста.Я хочу знать, почему вышеперечисленное не работает.
PS: я использую PHP 5.3.2 в Ubuntu 10.04