Назад | Перейти на главную страницу

Может ли планировщик задач server 2008 запускать файл php?

У меня есть 64-битная машина server 2008 с установленным php5 через fastcgi. Я хочу запускать скрипт .php каждый день в 3 часа ночи. Я настроил задачу, и в «Результате последнего запуска» говорится: «% 1 не является допустимым приложением Win32»

Свойства события описывают больше сбоев:

"Планировщику задач не удалось запустить действие" D: \ InetPub \ tools \ something \ build.php "в экземпляре" {88cc01f4-9554-4b8f-9836-34d806337d7f} "задачи" \ Something ". Дополнительные данные: Значение ошибки: 2147942593 . "

Категория задачи: не удалось запустить действие

Можно ли запускать скрипты с помощью планировщика задач? Если нет, как мне автоматизировать выполнение скрипта php?

Спасибо

Я в основном запускаю php на машинах * nix, поэтому не уверен в этом.

Обычно скрипты php запускаются веб-сервером, когда кто-то запрашивает страницу с некоторым php на ней.

В вашей настройке Server 2008 ваше действие по умолчанию для .php может быть установлено на другое действие (например, «открыть файл в редакторе»), а не на «запустить скрипт с помощью php.exe».

Вы должны вызвать интерпретатор php и использовать ваш фактический скрипт в качестве параметра командной строки.

Что-то вроде

php.exe d:\InetPub\tools\something\build.php

Вы также можете добиться того же эффекта, связав файлы .php с правильной программой.

Определенно можно запланировать запуск сценариев php как запланированных задач, и можно передавать аргументы сценарию php аналогично, но не так, как вы передаете их сценарию PHP через браузер. Вы не получите доступа к переданным параметрам через $ _REQUEST. Вместо этого вы воспользуетесь $ _SERVER ['argv'] и проанализируете сами.

Существуют различия в средах выполнения, поэтому, если ваш сценарий предназначен для запуска как из браузера, так и из командной строки, вы можете использовать

if(PHP_SAPI=='cli'){
 //this is command line interface
}else{
 // this is a different interface
}
  • Убедитесь, что Windows знает полный путь к php.exe, явно указав его или указав текущий каталог на панели настройки задачи.
  • Передайте php.exe полный путь к скрипту, который вы хотите запустить.
  • заключите имя сценария в кавычки ("), если в пути есть пробелы.
  • заключите любой аргумент, который вы передаете, в кавычки, если он имеет встроенные пробелы.