Как запустить скрипт PHP, используя задачу расписания Windows? - PullRequest
25 голосов
/ 15 января 2011

Я установил localhost / server на своем компьютере, и мне нужно запустить скрипт php, используя задачу расписания Windows.Как добавить путь на вкладке «Действия» в расписании задач / настроить скрипт для запуска на определенный период?

Ответы [ 11 ]

49 голосов
/ 15 января 2011

Найдите исполняемый файл php.exe в вашей системе и передайте ему имя файла сценария с помощью параметра -f.

Пример:

C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php

Ссылка:

11 голосов
/ 12 марта 2015

Вот как это произошло.

Планировщик Windows -> создать новое задание -> вкладка действий -> Изменить

enter image description here

9 голосов
/ 20 августа 2011

По крайней мере, я попробовал некоторые предложения, но они не работают, поэтому я попробовал это.

Используйте файл bat и расписание для запуска этого файла bat.

Например, в файле bat выполните executephp.bat, напишите это

c: \ xampp \ php \ php.exe -f c: \ xampp \ htdocs \ do_something.php

сохранить тот файл bat, который содержит эту строку.

Перейдите в планировщик Windows и создайте новое задание, а на вкладке действия найдите пункт executephp.bat и для запуска в -> прямо в каталог, у которого есть этот executephp.bat.

Например, если вы сохраните файл в C: \ xampp \ htdocs, поместите этот C: \ xampp \ htdocs в начало в.

Не забудьте вызвать скрипт, даже если пользователь не вошел в систему.

Все настроено и будет работать без проблем.

9 голосов
/ 15 января 2011

Вы можете использовать Командную строку PHP для его выполнения, а не пытаться загрузить его через браузер.

На вкладке действий создайте новое действие и:

  • Программа / скрипт: укажите на файл PHP.exe
  • Добавить аргументы: -f /path/to/php/file.php

По желанию вы можете запустить его также в каталоге скрипта.

4 голосов
/ 21 июля 2016

Я просто хотел оставить то, что я должен был сделать, чтобы это работало на сервере 2012. Что было сказано ранее, но с добавленными кавычками и использованием поля «Добавить аргументы».Так в Task Scheduler-> Actions-> Edit Action.

Program/script: "C:\xampp\php\php.exe"
Add arguments: -f "<full path and filename>"
Start in: <Path to file>

(мне пришлось использовать 'start in', как я упоминал в классе внутри скрипта)

Надеюсь, это поможет.

3 голосов
/ 12 сентября 2012

Вот как я это сделал.

В поле Выполнить: c:\location_of_my_php_installation\php.exe -f c:\location_of_my_php_file\php_file.php

В поле «Пуск»: c:\location_of_my_php_installation\php.exe

2 голосов
/ 12 июля 2015

Вы можете напрямую позвонить по URL вашего локального хоста, используя

explorer "http://localhost/yourFile.php"
1 голос
/ 12 октября 2018

создать задание по расписанию Планировщик-> Действия-> Редактировать действие

если у вас есть php файл

Program/script: powershell 
Add arguments: curl http://localhost/demo/cron.php

если у вас есть MVC / CMS URL

Program/script: powershell
Add arguments: curl http://localhost/demo/controller/method
0 голосов
/ 10 апреля 2019

Если ответ , данный Pekka , не работает (C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php), убедитесь, что у вас включены правильные расширения PHP, а также правильный файл php.ini, используемый для версии PHP, которую вы используете. используете.

Недавно я столкнулся с этой проблемой и решил ее. Я использовал PHP v5.4 для запуска своего script.php, который был вложен в папку PHP верхнего уровня (v5.3). Когда я запускал script.php из папки v5.4, он использовал файл v5.3 php.ini с различными расширениями, что привело к сбою script.php.

Чтобы это исправить, вот что я сделал в Планировщике задач: вкладка Действия

Сценарий программы:

"C:\Program Files (x86)\PHP\v5.4\php.exe"

Добавить аргументы:

-c "C:\Program Files (x86)\PHP\v5.4\php.ini" -f "C:\Xampp\htdocs\script.php"

Task Schedulerer - Actions Script

Используя опцию -c, вы можете указать, какой php.ini файл следует использовать ( stackflow answer ).

Я проверил, какой php использовался, следуя этому ответу stackflow .

В командной строке введите php -m, чтобы проверить, какие расширения включены. Затем используйте php --ini, чтобы проверить, какие .ini файлы считываются / читаются PHP.

Возможно, вы не используете правильный ini-файл для используемой версии PHP, если у вас установлено несколько версий.

0 голосов
/ 01 октября 2016

Чтобы создать планировщик в Windows, вам необходимо:

  1. Создать .bat файл на вашем сервере или в системе;
  2. Введите в свой файл .bat следующую команду:
    “F:\xampp\php\php.exe” -f “F:/xampp/htdocs/sitefolder/test.php”;
  3. Установите время и файл планировщика в вашем планировщике задач в Windows.
...