У меня есть некоторый исполняемый код PHP, который я пытаюсь реализовать с помощью заданий cron. Страница отправляет пару электронных писем. Он прекрасно работает, когда я набираю адрес в моей строке URL и загружаю страницу (URL-адрес похож на www.mysite.com/mypage.php), но по какой-то причине он не работает, когда я делаю это как часть Cron работа. Я дважды проверил разрешения и файл исполняемый, так что проблема не в этом. Я получаю электронное письмо, подтверждающее, что задание cron было выполнено, но письма, которые должны быть отправлены программой, не приходят. Вот мой код в crontabs:
SHELL= /bin/bash/
HOME = /
MAILTO = "mymail@gmail.com"* * * * * /usr/bin/php /usr/share/nginx/html/mypage.php
Есть идеи, почему это может не сработать?
РЕДАКТИРОВАТЬ О РАЗРЕШЕНИЯХ: Возможно, актуально: я редактирую задания cron, набирая ‘sudo crontab -e’. Я был в состоянии успешно настроить другую работу cron, которая только посылает мне по электронной почте текст. Тем не менее, я попытался настроить другую задачу cron только для текстовой электронной почты НЕ в sudo (то есть набрать ‘crontab -e’), и это не сработало. Я не получил никаких писем. Я также получил ошибку, когда набрал ‘crontab -e’ о невозможности чтения .nano_history и об отказе в разрешении, но я смог обойти это, нажав Enter
Убедитесь, что wget установлен на вашем сервере. так должно быть. Затем используйте wget для вызова вашей программы на вкладке cron. Таким образом, вам не нужно беспокоиться о вызове php из командной строки.
wget http://999.999.99.9/hr/stats/send_stats.php?task=first
Других решений пока нет …