Мне нужно, чтобы скрипт PHP автоматически выполнялся в определенное время. Как бы я мог достичь этой цели?
Если вы используете аромат Linux / Unix (включая Mac OSX), создайте задание cron .
Если вы используете Windows, создайте запланированную задачу .
Примечание: обе вышеупомянутые ссылки относятся конкретно к аудитории PHP.
Если вы отредактируете crontab вручную с помощью crontab -e или перейдите в список crontab -l, то полезный комментарий, который будет помещен в верхнюю часть crontab, приведен ниже.
# .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed 30 3 * * * php /home/scripts/do_something.php
Я предполагаю, что вы создаете какой-то webapp, и вам нужна часть системы для запуска чего-то периодически, поэтому ее нельзя запускать через браузер. Это немного сложно сделать, если вы загружаете множество сторонних библиотек или используете множество функциональных возможностей сервера, но если это прямой PHP, вы можете сделать это очень легко. Создайте запланированное задание определенного типа (работа cron в Linux, Запланированная задача в Windows и т. Д.), Которая запускает команду php -f filename.php
. Это выполнит ваш PHP-скрипт по выбору через интерпретатор CLI PHP, который очень похож (возможно, идентичен) на то, как скрипт PHP будет выполняться через CGI, но минус некоторые из переменных среды для сервера.
Как создать задание Cron (запланированная задача) для вашего сайта или блога, если вы работаете в Linux.
Если вы не используете Linux / Unix, спросите своего хоста, смогут ли они настроить для вас запланированное задание Windows. В зависимости от того, можете ли вы пройти через чащу отделов поддержки некоторых хостов, они должны быть счастливы, поскольку это не обязательно создает угрозу безопасности