Мне нужно запустить php-скрипт в назначенное время ежедневно, чтобы обновить некоторые поля в базе данных и отправить автоматическую электронную почту. Как я могу это сделать?
Можно ли написать какую-либо услугу на сервере XAMP для ежедневного запуска сценария в запланированное время? Я понятия не имею, как обновлять базу данных и отправлять электронную почту автоматически в запланированное время. Может ли кто-нибудь поделиться некоторыми идеями или концепциями?
Я использую PHP и MySQL, работающие на Linux Server.
Для этого вы должны использовать задание Cron . Ознакомьтесь с примерами на странице Википедии .
Задача Cron должна вызывать скрипт, используя исполняемый файл php
который выполняет нужную задачу.
Просто создайте сценарий, который выполняет требуемую работу, протестируйте его, нажав URL-адрес в своем браузере, как только вы убедитесь, что он работает правильно. Скопируйте URL-адрес и добавьте Cronjob
Затем планируйте эту команду для запуска в любое время, которое вы хотите запустить
php ABSOLUTE_URL_TO_SCRIPT >> logfile
Файл журнала является необязательным. Но это даст вам шанс увидеть, что произошло.
Например, если вы хотите запускать свой скрипт каждые 4 часа и предполагая, что ваш скрипт находится по адресу http: //localhost/work/scripty.php и если предположить, что ваш корень http – / var / www,
вы должны запустить «crontab -e» в терминале и добавить следующую строку:
* */4 * * * php /var/www/work/scripty.php
Если вам нужна дополнительная информация только для комментариев, я обновлю ответ.
PHP не может запускать скрипт сам по себе, поскольку php не имеет демонов вроде python !! Поэтому вам нужно обратиться за помощью к ОС, чтобы вызвать ваш собственный скрипт.
Например, в linux: (example.sh) export USE_PHP = php cd $ SCRIPT_ROOTDIR $ USE_PHP -f cronfile.php service = "checkdatabase" (услуга – это параметр, переданный вашему cronfile).
Для создания рабочих мест cron ознакомьтесь с этой ссылкой http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
В Linux мы можем создать файл .sh и дать конкретное время для запуска, которое называется заданием cron. SO должен использовать этот метод, просто создавая файл оболочки и предоставляя ему период времени. Для этого вам следует обратиться за помощью к специалисту по Linux.
Используйте следующее: Cron Job