Мне дали машину с Windows 2012R2 с XAMPP. Мне нужно запланировать задачу, которая выполняется каждую минуту. Каждую минуту должен выполняться PHP-скрипт. Это настроено правильно, я использую файл .BAT в качестве действия в планировщике заданий.
Проблема в том, что когда я тестирую файл .BAT, он работает как шарм (запускает файл .BAT из папки, в которой он находится). Но когда планировщик заданий выполняет файл .BAT, он терпит неудачу. Затем сценарий не может включить некоторые файлы, которые вызывает сценарий PHP. Я предполагаю, что это связано с тем, что планировщик заданий не выполняет скрипт из каталога, в котором находится PHP-скрипт. В CronjobBase.php есть строка, которая включает MyIncludes.php
(например, в реальной жизни включен файл начальной загрузки)
Это мой контент .BAT (нет никакой разницы в использовании или оставлении кавычек с помощью команды CD):
cd "D:\xampp\htdocs\MyApp\App\Cronjobs\"
"D:\xampp\php\php.exe" -f CronjobBase.php MyCronJob
Я пытаюсь записать CD в папку Cronjobs, чтобы выполнить CronjobBase.php с argv[1]
как MyCronJob (который должен включать MyCronJob.php из CronjobBase.php). Он говорит мне, что CronjobBase.php не найден. Я предполагаю, что запись компакт-диска в папку Cronjobs не удалась.
Когда я пытаюсь использовать "D:\xampp\php\php.exe" -f D:\xampp\htdocs\MyApp\App\Cronjobs\CronjobBase.php MyCronJob
в качестве содержимого .BAT, включение «MyIncludes.php» не выполняется, и сценарий завершается.
Любые предложения о том, что я делаю неправильно?
/D
в командуcd
. Сначала он изменит диск. Изменить каталог — выбрать папку (и диск) - person Ryan Vincent   schedule 30.07.2015