Как запустить скрипт PHP, используя задачу расписания Windows?

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

10 ответов

Решение

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

Пример:

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

Ссылка:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создать планировщик заданий планировщика-> Действия-> Изменить действие

если у вас есть 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

Я просто хотел оставить то, что я должен был сделать, чтобы это работало на сервере 2012. Что было сказано ранее, но с добавленными кавычками и использованием поля "Добавить аргументы". Так что в планировщике задач-> Действия-> Изменить действие.

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

(Я должен был использовать "начать с", как я ссылался на класс в сценарии)

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

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

В поле "Выполнить": 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

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

explorer "http://localhost/yourFile.php"

Если ответ, данный Пеккой, не работает (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"

С использованием -c вариант, вы можете указать, какой php.ini файл должен быть использован ( ответ на стек)

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

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

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

Вам не нужен файл.bat, просто установите параметры в планировщике задач:

Итак, здесь я просто указал на php.exe, а затем в аргументах

-f fullpath2PHP файл

Важным моментом является частичный запуск - это должна быть папка, в которой находится ваш php. Так, например:

Расположение файла -f c:\inetpub\wwwroot\runthisplease\myFile.php Запустить в c: \ inetpub \wwwroot\runthisplease\

Вы можете проверить это, создав ярлык Windows (но вы не можете запланировать ярлык)

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

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

В свойствах вашей задачи в планировщике задач измените учетную запись, под которой работает ваш скрипт, на учетную запись SYSTEM.

Beaware! Это следует делать ТОЛЬКО для сценариев, которым вы полностью доверяете. Это повышает привилегии сценария до уровня администратора.

Другие вопросы по тегам