Как запустить скрипт 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, вам нужно
- создать файл.bat на вашем сервере или в системе;
- введите следующую команду в вашем файле.bat. "F:\xampp\php\php.exe" -f "F:/xampp/htdocs/sitefolder/test.php";
- установите время планировщика и файл в вашем планировщике задач в окнах.
В свойствах вашей задачи в планировщике задач измените учетную запись, под которой работает ваш скрипт, на учетную запись SYSTEM.
Beaware! Это следует делать ТОЛЬКО для сценариев, которым вы полностью доверяете. Это повышает привилегии сценария до уровня администратора.