Как запланировать выполнение PHP скрипт на стороне сервера?

Мне нужно, чтобы PHP script выполнялся автоматически в определенное время. Как я могу достичь этой цели?

Ответы

Ответ 2

Если вы отредактируете 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

Ответ 3

Я предполагаю, что вы создаете какой-то webapp, и вам нужна часть системы для запуска чего-то периодически, поэтому ее нельзя запускать через браузер. Это немного сложно сделать, если вы загружаете множество сторонних библиотек или используете много функциональных возможностей сервера, но если это прямой PHP, вы можете сделать это очень легко. Создайте запланированное задание определенного типа (задание cron в Linux, Запланированная задача в Windows и т.д.), Которая запускает команду php -f filename.php. Это выполнит ваш PHP скрипт выбор через интерпретатор CLI PHP, который очень похож (возможно, идентичен), как PHP скрипт будет выполняться через CGI, но минус некоторые из переменных среды для сервера.

Ответ 5

Если вы используете не, используя Linux/Unix, спросите своего хоста, смогут ли они настроить для вас запланированное задание Windows. В зависимости от того, можете ли вы пройти через чащу отделов поддержки некоторых хостов, они должны быть счастливы, поскольку это не обязательно создает угрозу безопасности.