Назад | Перейти на главную страницу

Работа Cron с PHP-скриптом не работает должным образом

У одного из моих клиентов есть скрипт PHP, который загружает файл cvs. Когда он запускает этот скрипт через WWW, он работает нормально - логи загруженных данных хранятся в /var/php/CLIENT/loaded.log. Но когда я пытаюсь выполнить тот же сценарий тем же пользователем, который его выполняет Apache, и с той же конфигурацией (php.ini), я не получаю данных в loaded.log. Та же самая ситуация, если я сделаю это с помощью Cron. Системный журнал сообщает, что Cron получал какие-либо ошибки.

У тебя есть подсказки, где мне искать?

Когда сценарии PHP работают при запуске через Apache, но не через cron, некоторые общие проблемы могут заключаться в том, что сценарий использует переменные, доступные только во время веб-запроса, например $_SERVER переменные (например, $_SERVER['DOCUMENT_ROOT'] или другие) или $_GET переменные, или это может быть другой PHP, используемый для веб-запросов, а не из командной строки.

Попробуйте запустить сценарий самостоятельно в оболочке, используя указанную вами команду su, но после php5.3, Добавить -d display_errors=on и посмотрите, не появится ли сообщение об ошибке.