Есть ли способ автоматически запустить PHP-скрипт на веб-сервере хостинга без нашего cron? - PullRequest
3 голосов
/ 26 ноября 2009

У меня был скрипт, который отправляет смс оповещения каждый день. Я хочу, чтобы он отправлял автоматически отправлять смс при получении сообщения из базы данных. Могу ли я сделать это без cron. Есть ли другое решение? Пожалуйста, помогите

Ответы [ 11 ]

7 голосов
/ 26 ноября 2009

Есть внешний AppEngine cron Job Sheduler: используйте Google AppEngine , это бесплатно Внешняя «задача» может затем «отозвать» ваш PHP-скрипт.

Я не вижу, что не так с использованием локального cron на вашем компьютере, хотя помимо заблокирован для вас доступ к нему.

3 голосов
/ 27 ноября 2009

Вы можете использовать службу webcron для запуска вашего скрипта.

3 голосов
/ 26 ноября 2009

Проще говоря, вы не можете запускать php-скрипты без использования какого-либо планировщика или cron ...

2 голосов
/ 26 ноября 2009

У вас есть несколько вариантов:

  • Эмулируйте поведение cron: в своем php-коде проверьте, была ли страница загружена во время или около того времени, на которое вы хотите запланировать рассылку, если сообщения еще не были отправлены, загрузите скрипт, который отправляет сообщения в фоновом режиме и пометить их как отправленные.

  • Как уже предлагали другие, установите cronjob где-нибудь еще, чтобы он выполнял скрипт на вашем сервере, извлекая URL-адрес через http (например, с помощью wget)

1 голос
/ 29 сентября 2011

Использование стороннего webcron, например easycron.com .

1 голос
/ 26 января 2010

вы можете включить свой скрипт и запускать его каждый раз, когда кто-нибудь посещает вашу домашнюю страницу / страницу входа и т. Д. настроить таблицу в MySQL под названием время. запрашивать базу данных каждый раз, когда страница посещается. if (аргумент времени) {запустить скрипт в фоновом режиме, обновить новое время в БД}

Все, что вам нужно сделать, - это определить, как часто вы хотите отправлять свои смс-сообщения. Ex. 1 раз в день В строке базы данных «время» есть дата. дата, скажем, 24 часа назад. если строка "время" в базе данных меньше или равна сегодняшнему дню минус один день 1 день, тогда запустите ваш скрипт. это будет запускать ваш скрипт один раз в день.

Ничья -> кто-то должен посещать ваш сайт, по крайней мере, один раз в день.

Какой URL у вашего сайта? Что ты делаешь?

1 голос
/ 26 ноября 2009

установите задачу cron в другом месте, попросите ее запросить скрипт, который отправляет оповещения.

0 голосов
/ 26 ноября 2009

Я использовал планировщик задач Windows, чтобы запланировать сценарий на сервере, к которому у меня раньше не было доступа, что работало нормально.

0 голосов
/ 26 ноября 2009

Это не оптимально, но без использования какого-либо планировщика, вот что вы могли бы сделать:

  1. Настройка файла заголовка для каждой страницы.
  2. В заголовочном файле укажите вашу функцию / процедуру, которую вы хотели бы запустить.
  3. Сделайте оператор if, который проверяет, является ли время больше или равно времени, которое требуется для выполнения вашей процедуры, и на то, что она еще не запущена.

Недостатками этого является то, что:

  1. Нет гарантированного времени обслуживания.
  2. Если ваш веб-сайт не получает просмотров, он может полностью пропустить окно.
  3. Вы добавляете как минимум 3 вызова функций на свою страницу, не говоря уже о вызовах функций, необходимых для проверки, выполнялись ли сегодня эти процессы, которые могут включать вызов сервера MySQL или простого файла ...
0 голосов
/ 26 ноября 2009

Это не лучший ответ, так как ему все еще требуется cron где-то , но вы всегда можете настроить другой компьютер, на котором есть cron, например, ваш домашний компьютер, чтобы он попадал на страницу вашего сайта, которая запускает действие (используя библиотеку типа curl или wget).

...