Сгенерированный файл в Crontab пуст
Мне нужна помощь с этим. Команда Artisan выполняется crontab для анализа файла журнала и создания отчета в формате HTML.
Вот строка кода в команде, которая выполняется crontab:
$today = date("d/M/Y");
exec('grep "$today" /path_to_logfile | goaccess -a > /path_of_generated_HTML_file');
exit();
К сожалению, файл, сгенерированный cron, пуст, но когда вы выполняете тот же код непосредственно в терминале, он успешно генерирует html-файл. Я ценю вашу помощь, ребята.
1 ответ
Это, скорее всего, потому что ваш PATH
неправильно настроен при работе под crontab
, Для большинства реализаций crontab
Вы можете просто указать PATH
в первой строке файла crontab, открытого с crontab -e
:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Вы также можете установить путь внутри PHP, если пожелаете:
<?php
putenv('PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin');
$today = date("d/M/Y");
exec('grep "$today" /path_to_logfile | goaccess -a > /path_of_generated_HTML_file');
exit;