Вы можете запускать PHP сценарии с помощью обычного Linux cronjob.
Если вы хотите запускать сценарий PHP каждую минуту, на большинстве стандартных linux серверов синтаксис будет выглядеть примерно так:
* * * * * php /var/www/script/myscript.php
Если вы пользуетесь услугами какого-либо хостинг-провайдера и не имеете доступа к серверу / контейнеру, на котором работает PHP, вы можете найти поддержку cronjob в cpanel / webmin et c .
Вы можете «эмулировать» cronjob, используя только PHP, но это не очень надежно. Один из способов сделать это - разместить страницу где-нибудь на вашем сервере, скажем, http://mywebsite.com/cron/cron.php, и использовать внешнюю службу, которая выполняет проверки работоспособности, например Pingdom / AWS Route53, которая надежно ударит страница каждые x минут.
Если вы просто хотите предотвратить слишком частое выполнение сценария, вы можете записать отметку времени в базу данных или файл при запуске сценария и проверить, прошло ли достаточно секунд с момента последнего время выполнения сценария.
Если вы хотите, чтобы страница возвращалась, а затем выполняли некоторую фоновую обработку (также полезную в вышеупомянутых стилях поддельного кроншоба), например отправку электронной почты, вы можете использовать функцию PHP ignore_user_abort , чтобы разрешить возврат сообщения об успешном завершении, а затем продолжить обработку запросов. Это также может быть использовано для получения дополнительных инкрементов, если вы хотите, чтобы что-то запускалось каждые 30 секунд, и т. Д. c.