Если PHP script запущен как cron script, то часто включает ошибки, если используются относительные пути. Например, если у вас есть
require_once('foo.php');
файл foo.php будет найден при запуске в командной строке, но не при запуске cron script.
Типичным обходным решением для этого является первый chdir для рабочего каталога или использование абсолютных путей. Я хотел бы знать, однако, что отличается между cron и shell, что вызывает это поведение. Почему это происходит при использовании относительных путей в cron script?