Как я могу запустить php-скрипт из CLI без добавления «php» к нему?

Я пытаюсь создать сценарий, который запускается с веб-serverа, который будет запускать php-file через exec() , но я хочу, чтобы это было сделано без добавления php к нему. Это можно сделать?

Использование Windows 2008 и XAMPP

2 Solutions collect form web for “Как я могу запустить php-скрипт из CLI без добавления «php» к нему?”

Нет, php-file не может быть непосредственно исполняемым в Windows. Вам понадобится обходной path, например, обертывание команды php filename.php в пакетном fileе.

Это можно сделать в Windows 7 – я не знаю, относится ли эта же идея к Windows 2008, однако последствия этого подхода могут перевесить преимущества.

По сути, все, что вам нужно сделать, это сделать php-cli.exe программой по умолчанию для открытия fileов .php.

Я сделал это двумя способами, я не уверен, что оба пути необходимы.

Во-первых, сделайте php-cli.exe (или php.exe, я полагаю) программу по умолчанию для открытия fileов .php.

В Windows, который приравнивается к: щелкните правой кнопкой мыши file .php, select «Открыть с …», найдите и select исполняемый file php-cli.exe и «установите как значение по умолчанию».

Я считаю, что в Windows 2008 эту функциональность можно get через Панель управления> Программы по умолчанию> Связать тип fileа или протокол с программой

Как только исполняемый file php-cli.exe установлен в качестве приложения по умолчанию для fileов .php, вы должны достичь своей цели, имея несколько побочных эффектов.

На этом этапе, если вы запустите scriptname.php из command line, он будет запущен php-cli.exe, а вывод будет отображаться под подсказкой – что может быть тем, что вы хотите; однако, если вы дважды щелкните file, он также будет запущен php-cli.exe (вместо вашего предпочтительного редактора) – что, вероятно, вам не нужно.

Тем не менее, assoc .php (по крайней мере, в моем случае), вернул тип fileа, соответствующий редактору, который я использую (и validation этого типа fileов с помощью ftype дала path к тому же самому редактору).

Чтобы исправить это, запустите что-то похожее на следующее (как администратор):

 ASSOC .php=PHPScript && FTYPE PHPScript="C:\Program Files (x86)\Xampp\php\php.exe" %1 %* 

После этого, обратившись к моему тестовому fileу PHP в browserе, выполнил второй тестовый скрипт (без использования префикса php) и отобразил результат.

Для моих целей мои тестовые scripting были: test2.php (выполняется в browserе):

 <?php echo exec('test1.php'); ?> 

test1.php (в той же папке):

 <?php echo date('r'); ?> 

(Протестировано в Windows 7 с помощью XAMPP 1.7.7 / PHP 5.3.8)

  • Запуск нескольких serverов на одном и том же порту
  • xampp plus apache php mysql отдельные установщики
  • Меркурий не отправляет электронные письма
  • XAMPP - служба Apache перестает работать через несколько секунд
  • Какой php-бинарный file следует использовать с установкой XAMPP?
  • странный text появляется при использовании PHPBB> v3.0.1 XAMPP windows SQLite
  • Ошибка XAMPP 403 на новой установке
  • Виртуальные хосты не работают
  • Сервер Xampp Не удается подkeyиться к ssl: // в порту 443
  • Как помещать определенных пользователей в ProFTPD в Unix (Mac OSX)
  • Как установить определенные variables среды для службы Apache, запущенные в Windows