Решение оказалось простейшее, но я просто никогда на практике не встречался с этой командой ранее, поэтому пришлось долго разбираться в чем дело.
Задача:
Запустить Друпал на уровне базы данных ( drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE) ) для выполнения каких либо сервисных действий с базой скриптом из поддиректории.
Проблема:
Подключается первый основной файл: require_once '../includes/bootstrap.inc'; (.. - так как скрипт в поддиректории находится). В результате сам bootstrap.inc подключается, но не может найти следующие файлы:
Warning: include_once() [function.include]: Failed opening './sites/default/settings.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/user/public_html/includes/bootstrap.inc on line 274
Warning: require_once(./includes/cache.inc) [function.require-once]: failed to open stream: No such file or directory in /home/user/public_html/includes/bootstrap.inc on line 972
Fatal error: require_once() [function.require]: Failed opening required './includes/cache.inc' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/user/public_html/includes/bootstrap.inc on line 972
Решение:
Изменение текущей директории PHP функцией chdir, в моем случае:
<?php chdir(".."); ?>
Если необходимо можно дописать код, чтобы вернуться обратно в первую директорию, для этого еще потребуется ф-ция getcwd.
Комментарии
А если создать по аналогии bootstrap2.inc, и сделать в нем необходимые пути?
http://pankov.biz/blog/2/boremsya-s-kronom
пробовал аналогично менять, но начала выскакивать ошибка про отправленный заголовок. решение нашел тут:
http://agaric.com/note/access-drupal-functions-and-session-from-a-php-sc...
получил и пользователя и друпал.