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


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

Author: Rajasekar, 2009-11-26

11 answers

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

 3
Author: Roch, 2009-11-27 15:33:48

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

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

 7
Author: jldupont, 2009-11-26 13:38:34

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

 3
Author: Sarfraz, 2010-05-12 06:25:15

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

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

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

 2
Author: code_burgar, 2009-11-26 13:32:21

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

 1
Author: just somebody, 2009-11-26 13:23:24

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

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

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

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

 1
Author: Prez, 2010-01-26 18:40:30

Использование стороннего веб-браузера, такого как easycron.com.

 1
Author: user970258, 2011-09-29 02:23:21

Если вы не можете настроить задание cron на сервере, сделайте это на клиенте, к которому у вас есть доступ (например, на вашем компьютере), чтобы он выполнял запрос, когда вам нужно запустить скрипт.

 0
Author: Matteo Riva, 2009-11-26 13:25:05

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

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

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

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

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

 0
Author: Adam Dempsey, 2009-11-26 13:40:19

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

 0
Author: Darren Newton, 2009-11-27 15:31:09