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

StackOverflow https://stackoverflow.com/questions/1803631

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    <Ол>
  • Нет гарантированного времени обслуживания.
  • Если ваш веб-сайт не получает посещений, он может полностью пропустить окно.
  • Вы добавили на свою страницу как минимум 3 вызова функций, не говоря уже о вызовах функций, необходимых для проверки, выполнялся ли сегодня этот процесс, что может включать вызов сервера MySQL или простого файла ...
  • Я использовал планировщик задач Windows для планирования сценария на сервере, на котором раньше не было доступа к cron, это работало нормально.

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top