drupal_bootstrap()

Главные вкладки

Аватар пользователя Terranova Terranova 3 марта 2007 в 14:35

Crontab при запуске cron.php выдает ошибку:
PHP Fatal error: Call to undefined function: drupal_bootstrap() in /home/m/mysite/public_html/cron.php on line 14
В чем может быть проблема?

Комментарии

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 3 марта 2007 в 14:45

Какая версия Drupal? Кажется, что-то меняли в формате вызова bootstrap при переходе к 5.0.
Посмотрите, есть файл \includes\bootstrap.inc, в котором определена функция drupal_bootstrap()?


Я ставлю строчку "php_value error_reporting 7" в файл .htaccess, а вы? Smile Полный русский перевод Drupal 5.x и еще некоторых модулей.

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 3 марта 2007 в 15:52

Хм. В моем cron.php вообще 12 строк, откуда ошибка в 14 строке?

Возможно, файл непреднамеренно редактировался. Попробуйте заменить прикрепленным (только переименуйте в cron.php).


Я ставлю строчку "php_value error_reporting 7" в файл .htaccess, а вы? Smile Полный русский перевод Drupal 5.x и еще некоторых модулей.

Аватар пользователя Terranova Terranova 3 марта 2007 в 17:02

хостинг требует вставки строки #!/usr/local/bin/php для обработчика скрипта, плюс одна пустая для читабельности
итого в 14 строке: drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
на самом деле cron не дергается даже в ручную, я об этом спрашивал вчера здесь http://www.drupal.ru/node/4140, но ответов не было, пришлось запускать crontab для прояснения ситуации, он хоть логи отсылает

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 3 марта 2007 в 17:18

> хостинг требует вставки строки #!/usr/local/bin/php для обработчика скрипта
Я в этом мало что понимаю, но странно - это надо для обработки php?

> Call to undefined function: drupal_bootstrap()
Стало быть не срабатывает include_once './includes/bootstrap.inc'; (судя по сообщению об ошибке).

Может быть, вызывать cron шелл-скриптом - см. /scripts


Я ставлю строчку "php_value error_reporting 7" в файл .htaccess, а вы? Smile Полный русский перевод Drupal 5.x и еще некоторых модулей.

Аватар пользователя Terranova Terranova 3 марта 2007 в 17:45

>> хостинг требует вставки строки #!/usr/local/bin/php для обработчика скрипта
>Я в этом мало что понимаю, но странно - это надо для обработки php?
да, путь обработчика скрипта нужно прописывать явно

>> Call to undefined function: drupal_bootstrap()
>Стало быть не срабатывает include_once './includes/bootstrap.inc'; (судя по сообщению об ошибке). Может быть, вызывать cron шелл-скриптом - см. /scripts
это понятно, вопрос в том почему не срабатывает
а какой смысл запускать скрипт через шелл, если проблема в самом скрипте, cron не срабатывает даже при дёргании напрямую типа www.mysite.com/cron.php (выявлено эмпирически)

Аватар пользователя Terranova Terranova 3 марта 2007 в 22:33

да, все в UTF8 (нахлебался я на старом хостинге с другими кодировками)
база заполнялась заново через админку, так что с этим все в порядке
редактировались только файлы стилей и шаблоны, код не трогал

Аватар пользователя chemmalion chemmalion 10 апреля 2011 в 20:44

Столкнулся с подобной штукой.
Дело в том, что у моего хостера нет возможностей вызывать wget/curl/lynx (как предлагается в руководстве по установке drupal). Поэтому я пробовал изменять файл cron.php (добавлять в начало строку #!/usr/local/bin/php) по совету хостера же.
При таком раскладе получаю именно ту же самую:
Call to undefined function: drupal_bootstrap()

Также пробовал запускать через непосредственный вызов интерпретатора php с указанием скрипта в качестве параметра. Та же ошибка вылазиет.

Решение проблемы оказалось (в моём случае) в том, что если я решил вызывать php-скрипт локально (прямо на сервере), тогда мне нужно корректно указывать рабочую папку для вызова скрипта.

Правильная строка запуска для cron'а в таком случае получается следующей:
cd ~/имя_юзера/public_html && /usr/local/bin/php ~/имя_юзера/public_html/cron.php
Такой метод сработал.

Исходник я подсмотрел здесь: http://forum.nic.ru/showthread.php?t=675