#php #windows-7 #windows-task-scheduler
#php #windows-7 #windows-планировщик задач
Вопрос:
У меня установлена локальная установка WAMP .. и я понимаю, что вы можете настроить задания CRON здесь (будучи Windows и все)..
Я хотел протестировать вызов PHP-скрипта по расписанию, используя планировщик задач Windows.
Я настроил простой PHP-скрипт, который отправляет электронное письмо (не более того).
Я проверил, что он работает, но переходит непосредственно к сценарию в моем браузере (получено электронное письмо, проблем нет)
Итак, я приступил к попытке настроить запланированную задачу на моем компьютере с Windows 7:
- Открыл планировщик задач
- Библиотека планировщика задач, щелкнутая правой кнопкой мыши> Создать задачу
Вкладка Общие:
- Имя: Email_Test
- Запускать независимо от того, вошел пользователь в систему или нет (проверено)
Вкладка Действия:
- Действие: Запустите программу
- Сценарий программы: C:wampbinphpphp5.4.12php.exe (Я знаю, я знаю.. Я скоро обновлюсь до PHP 7!)
- Аргументы: -f C:wampwwwcron_jobs/email_test.php
- Начните с: C:wampwwwcron_jobs
Триггеры:
-
Начать задачу: по расписанию
-
Ежедневно: (установка времени на минуту или две раньше текущего времени для тестирования)
-
Повторять: каждые 5 минут
-
Срок действия: завтра
-
Мне нужно, чтобы он отключался только один раз в день, но я хотел ввести эти настройки для продолжения тестирования.
Я еще не получил электронное письмо, использующее это как задание расписания..
Изначально у меня также был настроен файл .bat.. но прочитайте несколько разных руководств, которые показали, как это сделать таким образом? Но у меня нет проблем с изменением некоторого пути к файлу .bat вместо этого где-нибудь, если это моя ошибка / проблема?
Я также включил историю .. и все записи говорят, что все прошло успешно? (Задача / действие запущено / завершено)
Что я делаю не так? и более того, как я могу это исправить? 🙂
Обновленная информация:
Я забыл упомянуть, что для моей установки WAMP / PHP.. Я использую SENDMAIL в качестве почтовой программы.. возможно, это часть проблемы? Нужно ли мне каким-то образом разрешить sendmail.exe казнить или что-то в этом роде?
Я НЕ хочу напрямую использовать sendmail сам по себе.. Я бы предпочел использовать PHP-скрипт.. в конце концов, я хочу добавить в журнал базы данных, прежде чем отправлять электронное письмо .. но пока .. в PHP-скрипте есть ТОЛЬКО функция mail () .
Итак, после прочтения.. Я предполагаю, что файл php.ini в APACHE не совпадает с тем, который используется при выполнении CLI PHP?
Я не смог найти php.ini @ C:wampbinphpphp5.x.xphp.ini Но я нашел и обновил:
C:wampbinphpphp5.x.xphp.ini-development amp; C:wampbinphpphp5.x.xphp.ini-production
- в нем не указано .. но предполагается ли, что они будут переименованы в php.ini?
(хотя я не уверен, для чего предназначены эти файлы .. но я заставил их соответствовать моему файлу php.ini здесь:
C:wampbinapacheApache2.Xbinphp.ini
И все же …. электронное письмо не приходит!
Если я открою скрипт в браузере.. Я всегда получаю электронную почту?
(поскольку это нормально работает для отправки почты без проблем?)
Комментарии:
1. Если в журнале задач указано «завершено», значит, скрипт выполнен. Таким образом, более вероятно, что скрипту ничего не удалось выполнить. Добавьте туда дополнительное ведение журнала и отладку.
2. Почему тогда он будет работать при доступе через браузер? Я добавил оператор echo после функции mail().. и он выводит правильно.
3. У кого-нибудь еще есть идеи попробовать?