Как я могу запустить 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)

  • Несколько websiteов на serverе разработки?
  • запуск xampp + iis (classический asp) на той же локальной машине
  • Установка SVN отдельно после Apache (Windows)
  • Не удается подkeyиться к serverу XAMPP Apache из локальной сети или извне
  • Как importировать большой file sql в локальную среду LAMP (xampp)
  • Как я могу сделать xampp в прямом эфире в Интернете? [закрыто]
  • Сервер Xampp Не удается подkeyиться к ssl: // в порту 443
  • Обратный proxy не работает на моей системе XAMPP, как find проблему?
  • Как освободить порт 80 для работы xampp
  • я могу установить несколько версий php и mysql на xampp
  • Лучший способ запустить два разных websiteа на localhost
  • Interesting Posts

    Не удается запустить экземпляр Oneiric x64 на Eucalyptus

    Postfix не может доставлять почту в почтовый ящик Cyrus на serverе Ubuntu 11.10

    SSH ищет id_rsa-cert get key_load_public error

    Нестабильное сетевое подkeyение FreeBSD 8.1

    Можем ли мы сделать приложение cpp как HA, используя keepalived?

    Как replace binary file QEMU на более новую версию для живых снимков libvirt

    Uwsgi начинается с корня, но не как сервис

    Как определить общий размер снимков Amazon EC2?

    OpenVPN: непризнанная опция или отсутствующие parameters в client.ovpn: 15: block-outside-dns

    Это обычное поведение вентиляторов в HP Proliant DL160G5?

    сбалансированное (текучесть и стабильность) распределение Linux-serverа

    Как заставить HTTPS-соединения?

    Как передать parameters конфигурации при установке расширений php с помощью pecl?

    Общая memory: ошибка shmget: на устройстве не осталось места – как увеличить пределы?

    Разрешение имен хостов в машине с несколькими запущенными портами