Лучший способ периодически выполнять PHP скрипт?
Я бы, вероятно, нашел способ сделать это, если бы у меня был полный доступ к серверу, однако проблема в том, что это просто услуга хостинга, которая оставляет мне ничего, кроме FTP-доступа.
Я хотел бы периодически запускать PHP script, чтобы проверить устаревшее/сломанное содержимое, заполнить новый контент, удалить файлы, которые не используются и т.д., однако script может принимать до 60 секунд выполнить (из-за агрегирования контента), и я чувствую себя как задница, чтобы просто выполнить ее при обработке запроса первого пользователя, который посещает веб-сайт через час после его обновления: P
Выход моего домашнего ПК в 24/7 для планирования запросов не является вариантом.
Ответы
Ответ 1
Вы можете использовать онлайн-службу cron, чтобы по существу притворяться, будто у вас есть доступ к cron.
Создайте файл php с содержимым, которое вы хотите выполнить
Бесплатный веб-сайт Cron
Настройте бесплатный онлайн-cron для выполнения этого файла каждые x минут.
Ответ 2
Не уверен, что это правильный подход, но я просто запускал script, когда первый пользователь посещает сайт, а затем отправляет <meta http-equiv="refresh"...
пользователю, чтобы его браузер обновил страницу. Оригинальный PHP скрипт все равно будет работать на сервере, но пользователь больше его не увидит.
В принципе, что-то вроде:
if( check if the user is the first visitor today ) {
set_time_limit(0);
echo "<meta http-equiv='refresh' content='1;url=..." />"; // put your site baseurl in here
... run your scripts here
}
Просто идея. Не может работать. Просто попробуйте.
Ответ 3
Вы можете обойтись без cron, используя следующее решение (только для PHP): http://a32.me/2012/01/do-php-cron-without-cron-available/
Ответ 4
Почему бы вам не использовать
crontab
Взгляните сюда:
http://en.wikipedia.org/wiki/Cron
Ответ 5
Если ваш хостинг-провайдер не дает вам ничего, кроме FTP-доступа, и вы не хотите планировать периодический запрос с другого компьютера, тогда вы ничего не можете сделать. Вам нужно будет получить лучшую учетную запись хостинга, предпочтительно такую, которая позволит вам использовать cron.