cron не отрабатывает. не видит системных файлов

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

Аватар пользователя MIR MIR 30 октября 2008 в 21:51

Доброго времени суток, многоуважаемый All!

Настроил в админке хостинга запуск крона. Однако, эта сволочь в ответ мне в ящик шлет маты следующего содержания:

Warning: _drupal_bootstrap(./includes/cache.inc): failed to open stream: No such
file or directory in
/home/mircity/domains/mir-city.net/public_html/includes/bootstrap.inc on line 967

Fatal error: _drupal_bootstrap(): Failed opening required './includes/cache.inc'
(include_path='.:/usr/local/lib/php') in
/home/mircity/domains/mir-city.net/public_html/includes/bootstrap.inc on line 967

Как его победить?

Комментарии

Аватар пользователя direqtor direqtor 31 октября 2008 в 6:28

Проверь текущий каталог выполнения cron.php. Он должен совпадать с корнем сайта.
Скорее это не так, тогда надо в начало cron.php добавлять функцию chdir()

Аватар пользователя VladSavitsky VladSavitsky 31 октября 2008 в 11:21

А у вас часом не мультисайтинг?
Файл cron.php должен быть в корне сайта или мультисайтинга.
Иначе в нем нужно четко прописать пути к файлам, которые включаются через include

Аватар пользователя MIR MIR 31 октября 2008 в 13:44

Мультисайтинг - имеется ввиду со стороны друпала? Или со стороны хостинга?
В моем случае - свежеустановленный друпал.
cron.php лежит именно в корне сайта, вместе с index.php и пр.

Заменил во всех файлах, лежащих в /includes, пути "./includes" на полные:
/home/mircity/domains/mir-city.net/public_html/includes...

Крон прекратил ругаться, но, в тоже время и не выполняет никаких действий...

Аватар пользователя direqtor direqtor 1 ноября 2008 в 4:53

Но каталог в котором запущен крон не корневой. Поэтому не находятся другие включаемые файлы.

У меня на хостинге во все кроны пришлось дописать функцию chdir - попробуй.

Аватар пользователя MIR MIR 4 ноября 2008 в 16:31

А не мог бы ты кинуть мылом правленый файл крона, потому как в PHP не силен и какие параметры подставлять этой функции не въеду Sad
мой ящик: provin собака inbox ру

Спасибо! Smile

Аватар пользователя direqtor direqtor 5 ноября 2008 в 4:35

Мой файл тебе не поможет. Он хостингозависимый. В начале файла добавь строку

<?php
chdir
("полный/путь/от/корня/сервера/твоего/провайдера/до/корня/твоего/сайта");
?>

Судя по ошибке приведенной в твоем посте этот путь /home/mircity/domains/mir-city.net/public_html

Аватар пользователя MIR MIR 6 февраля 2009 в 17:18

Может кому актуально будет, вот работающее решение:

------------ cut here -----------
делаешь файлик типа: run.sh
с содержимым:
#!/bin/bash
cd путь_к_файлу
export PATH=сюда впиши свою текущую переменную окружения PATH
php -q $1 $2 $3 $4

дальше в кроне запускаешь
* * * * * /some_path/run.sh some_script.php
------------ cut here -----------
(C) TYMAH

ЗЫ Просьба ногами не пинать, если боян Smile