Привет!
Сервер Debian Linux 6 (ISP Manager). Настроил в ISP cron следующими строками:
*/15 * * * * /usr/bin/
php /var/www/kino/data/www/kino.ru/scripts/update_movies.
php >/dev/null 2>&1
Скрипт на выполнение содержит код:
header('Location: http://http://kino.ru/?com=update_movies');
exit();
Крон не выдаёт ошибок, но команда update_movies не выполняется. Не подскажите как осилить сиё? Спасибо.
_____________
void x;
Если шлю команду браузером (http://http://kino.ru/?com=update_movies), то всё отрабатывает.
_____________
void x;
Пардон, ошибка в урле. Исправил на
http://kino.ru/?com=update_movies, но эффект всё равно отсутствует.
_____________
void x;
Invis1ble
28.01.2013 - 10:33
Invis1ble Единственной дополнительной опцией в ISP было отправка сообщений cron на емайл. Я установил эту опцию, сейчас строка крона выглядит так:
/usr/bin/php /var/www/kino/data/www/kino.ru/scripts/update_movies.php
По прежнему никаких ошибок нет, на почту ничего не пришло.
_____________
void x;
killer8080
28.01.2013 - 11:17
И как по твоему оно может
работать в консоли?
killer8080 А я поправился, если вы внимательны. Я исправил урл. Теперь исполняемый файл
php содержит код
header('Location: http://kino.ru/?com=update_movies');
exit();
А дальше я не знаю, как оно может
работать в консоли, мне нужно запускать команду update_movies каждые 15 минут.
_____________
void x;
killer8080
28.01.2013 - 11:29
Цитата (yuriy @ 28.01.2013 - 09:24) |
killer8080 А я поправился, если вы внимательны. Я исправил урл. |
Я внимателен, прочти еще раз мой вопрос
killer8080 Вопрос внимательно прочёл, ничего нового не обнаружил.
_____________
void x;
killer8080
28.01.2013 - 11:38
yuriy
функция header добавляет http заголовок к ответу сервера, соответственно она имеет смысл только если скрипт запущен в контексте вебсервера, крон запускает скрипт в режиме консоли, а значит нет никаких http заголовков, и некому посылать редиректы, браузера же нет. Кстати на счет ошибок, если они и есть, то как их увидишь? Ведь весь вывод направлен в /dev/null
killer8080 Аа, ну так бы и сказал. Спасибо, щас исправлю. Ошибки, по идее, должны отсылаться теперь на майл, но они не шлются.
Строка для крона теперь такая + в ISP настроил опцию, чтобы ошибки отсылались на емайл:
/usr/bin/php /var/www/kino/data/www/kino.ru/scripts/update_movies.php
_____________
void x;
killer8080
28.01.2013 - 11:47
Цитата (yuriy @ 28.01.2013 - 09:43) |
Строка для крона теперь такая + в ISP настроил опцию, чтобы ошибки отсылались на емайл: |
отправка на email в самом скрипте?
killer8080 Нет, в самом
скрипте только
header('Location: http://kino.ru/?com=update_movies');
exit();
А отправка сообщений крона на емайл настраивается в ISP, при настройке задания.
_____________
void x;
killer8080 Спасибо! Вот так
работает:
file_get_contents('http://kino.ru/?com=update_movies');
Но хотелось бы только пнуть команду на выполнение и не дожидаться ответа. Не подскажите, как сделать?
_____________
void x;
Вот так тоже пашет:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://kino.ru/?com=update_movies');
curl_setopt($curl, CURLOPT_TIMEOUT, 1);
curl_exec($curl);
Таймаут в секунду, потом
скрипт глохнет.
_____________
void x;
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.