Программирование > PHP

запуск PHP-скрипта через cron

(1/2) > >>

Angel07:
Уважаемые господа!

Такой вопрос: нужно сделать запуск PHP-скрипта из cron-а каждый час с передачей ему параметров методом POST и возвратом результата по мылу.

Пробовал делать файл конфигурации для crontab:

MAILTO=mail@host.com
REQUEST_METHOD=POST
...

0 * * * * cat $HOME/txt.txt |/usr/local/bin/php $HOME/script.ph

Успешно его "импортирую" в crontab.

И сервер начинает каждый час возвращать письма от Cron Daemon с... ошибкой "No Input File Specified" :-(

Причем эта ошибка возникает только тогда, когда в конфигарации для crontab-а указана переменная REQUEST_METHOD=POST. Без этого приходят письма с выводом скрипта, запущенного без параметров.

Что я неправильно делаю, с чем связана ошибка и возможно ли успешное решение? Какой input file оно просит? :-)

Заранее _большое_ спасибо за помощь!

---
С уважением,
Андрей

P.S. Права доступа на файл скрипта: rwxr-x-r-x, на файл txt.txt - rw-r--r--. Команда cat $HOME/txt.txt в SSH успешно віводит содержимое файла, команда /usr/local/bin/php $HOME/script.php также успешно отрабатывает, соответственно, все файлы находятся...

Макс:
попробуй прописать полный путь до cat (/bin/cat например)

Angel07:
ОК, спасибо, попробую

Макс:

--- Цитировать ---Angel07:
Причем эта ошибка возникает только тогда, когда в конфигарации для crontab-а указана переменная REQUEST_METHOD=POST. Без этого приходят письма с выводом скрипта, запущенного без параметров.
--- Конец цитаты ---

про REQUEST_MODE не осилил. Что это за конфигурация кронтаба ?
Возможно в окружении под которым выполняется скрипт из крона нет переменной $HOME

Angel07:
Извиняюсь, описался, я имел в виду REQUEST_METHOD - переменную среды,
передающую метод обращения к скрипту. В норме эту переменную для
скрипта устанавливает веб-сервер, а при "прямом" вызове из командной строки
приходится самим :-)

Кстати, сначала PHP при запуске из cron-а ругался, что, дескать, "PHP
cannot  be accessed directly" и требовал переменную среды REDIRECT_STATUS. Я поставил
REDIRECT_STATUS=200 OK Правильно ли я сделал?

А вообще, правильная ли у меня в принципе командная строка для запуска
скрипта с передачей ему содержимого файла на STDIN? Я уже сомневаться начал...

cat $HOME/txt.txt |/usr/local/bin/php $HOME/script.php

По поводу $HOME - в описании хостинга (Zenon) она есть и ей рекомендуют пользоваться. К тому же, я думаю,если бы ее не было, то и "прямые" командные строки с ее использованием не работали бы (через SSH)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии