Я нашел ответ на этот вопрос на waytocode.com
Они предоставляют 3 возможных решения для запуска заданий cron в Windows:
Solution-1 с использованием планировщика заданий
В вашей Windows 7 / Windows 2005/2008.
Зайдите в Пуск меню-> Все программы-> Стандартные-> Системные инструменты-> Планировщик задач-> Создать задачу
В новом окне:
Общие (Дайте имя Задаче, и для тестирования вы можете выбрать «Запускать, когда пользователь вошел в систему»)
Триггер (Вы можете выбрать рабочий интервал как «ежедневно, еженедельно, ежемесячно».)
Действие (Это самая важная часть. Выберите Firefox Mozilla в качестве «программы / скрипта» и в Аргументе укажите URL для запуска с Firefox Mozilla).
Solution-2 с использованием планировщика задач и PHP с вашего сервера XAMPP
В Windows Xp не нужно ничего копировать или устанавливать (PHP уже установлен на сервере, как XAMPP)
Перейти к планировщику заданий
Создайте задание с указанием времени выполнения, затем в настройке avanced в текстовом поле команды «RUN» введите
C:\xampp\php\php.exe -f c:/xampp/htdocs/waytocode/mycron.php
В Windows 7 / server 2005/2008
Нет необходимости копировать или устанавливать что-либо (на сервере уже установлен PHP)
Создайте задание с указанием времени выполнения в настройках триггера. Затем в параметре настройки действий в текстовом поле команды «Программа / скрипт» введите
C:\xampp\php\php.exe
и в типе «Добавить аргументы (необязательно)»
-f c:/xampp/htdocs/mycron.php
Решение – 3 установить exe-файл Windows, который будет имитировать задание cron из * nix system
Мне не нравится устанавливать какой-либо exe-файл на мои серверы или компьютер для разработки,
но я предоставлю решение, поскольку они отправили:
В Windows Xp скопируйте все 2 DLL-файла с помощью wget.exe в папку C: \ windows
Создайте задание, дайте Время выполнения, затем в настройке avanced в текстовом поле команды «RUN»
C:\Windows\wget.exe -q -O NUL http://localhost/mycron.php
В Windows 7 / server 2005/2008, скопируйте все 2 DLL-файла с wget.exe в папку C: \ windows
Создайте задание, дайте Время выполнения, затем в настройке avanced в текстовом поле команды «Программа / Скрипт»
C:\Windows\wget.exe
и в типе «Добавить аргументы (необязательно)»
-q -O NUL http://localhost/mycron.php
Solution-4 с использованием файла .bat и планировщика задач
Я нашел его здесь, в Stackoverflow, и он похож на первые 2:
Создайте файл cron.php (код, который вы хотите выполнять через регулярные промежутки времени)
Создайте файл CRON.BAT, скопируйте и вставьте указанный ниже код в файл
D: \ xampp \ php \ php.exe D: \ xampp \ htdocs \ Application \ cron.php
Путь, который я написал, соответствует моим файлам xampp и cron.php, обновите путь к файлам согласно вашей системной директории
- Чтобы запланировать задачу
Нажмите Пуск> Все программы> Стандартные> Системные инструменты> Запланированные задачи
Или вы можете пойти прямо
Панель управления> Запланированные задачи
Щелкните правой кнопкой мыши в папке
Создать> Расписание задачи
Дайте подходящее имя Задаче.
В текстовом поле RUN… введите полный путь к файлу CRON.BAT
в моем случае это
D:\xampp\htdocs\Application\CRON.BAT
Установите расписание работы, при необходимости вы можете использовать расширенную кнопку.
Solution-5
Мне это тоже не нравится, потому что один скрипт не может зависеть от чужого сайта, но в любом случае это решение.
Воспользуйтесь внешней онлайн-службой cron.
https://www.google.ca/search?q=cron+job+online+service
Выберите одно решение, которое вам больше подходит. Надеюсь, это кому-нибудь поможет.
UPDATE
Solution-6 (Основано на ответах ниже, также работает с CodeIgniter!)
Создайте файл cron.bat, напишите следующую команду и сохраните его.
@ECHO OFF
c:
cd C:\Program Files\Internet Explorer
START iexplore.exe http://localhost/path/to/cron/job/1
Создать задание дать Время выполнения вНастройка триггера. Затем в опции «Действие настройки» в текстовом поле команды «Программа / скрипт» введите
C:\xampp\path\htdocs\folder\includes\cron.bat
КОНЕЦ ОБНОВЛЕНИЯ
Отвечая на ваш вопрос:
Можно ли это сделать по php-коду или использовать другой способ сделать это? Потому что я
хочу, чтобы вся работа была сделана на php / server, а не нужна моя пользовательская конфигурация
Cron работают сами. Что означает, что я хочу, чтобы мой php-код мог установить
cron на сервере и сервер будет смотреть на cron?
Есть и другие способы сделать это:
Использование cron manager из PHP
Использование cron manager из PHP
Управление заданиями Cron с помощью PHP
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php-2--net-19428
К сожалению, для всех решений с PHP требуется тип * nix-сервера и / или cPanel, и они более или менее сложны в реализации.