У одного из моих клиентов есть Сценарий PHP, который загружает cvs файл. Когда он выполняет этот сценарий через WWW, он работает правильно - журналы загруженных данных хранятся в /var/php/CLIENT/loaded.log. Но когда я пытаюсь выполнить тот же сценарий того же пользователя, какой Apache выполняет его и с той же конфигурацией (php.ini), я не получаю данных в loaded.log. Та же ситуация, если я делаю это Кроном. В системном журнале говорится, что Крон получает любые ошибки.
Вы получили какие-либо подсказки, где я должен искать?
Когда сценарии PHP работают при запуске через Apache, но не через cron, некоторые общие проблемы могут заключаться в том, что сценарий использует переменные, доступные только во время веб-запроса, такие как переменные $ _ SERVER
(например, $ _ SERVER ['DOCUMENT_ROOT']
или другие) или $ _ GET
переменные, или это может быть другой PHP, используемый для веб-запросов, а не из командной строки.
Попробуйте запустить сценарий самостоятельно в оболочке, используя указанную вами команду su, но после php5.3
добавьте -d display_errors = on
и посмотрите, не появятся ли сообщения об ошибках.