Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 16387 программистов и 1796 роботов. Сейчас ищут 2025 программистов ...
Приступая к работе

Командная строка PHP в Microsoft Windows

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

Замечание:

Сначала прочитайте руководство по установке !

PHP, запущенный из командной строки, может выполняться без каких-либо изменений в Windows.

C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

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

    Замечание:

    Как PATH, так и PATHEXT являются важными системные переменными в Windows, поэтому важно не затереть их текущее значение, а только дописать нужные данные в конец.

  • Допишите расположение исполняемых файлов php (php.exe, php-win.exe или php-cli.exe в зависимости от ваших предпочтений и версии PHP) в конец переменной окружения PATH. О том, как добавить вашу директорию к PATH читайте в соответствующем разделе FAQ.

  • Допишите .PHP расширение в конец переменной окружения PATHEXT. Это может быть сделано при изменении переменной PATH. Сделайте те же шаги, которые описаны в FAQ, но измените переменную PATHEXT вместо PATH.

    Замечание:

    Позиция, в которой вы разместите .PHP, будет определять, какой скрипт или программа будут запущенны для обработки файла с соответствующим расширением. Например, разместив .PHP перед .BAT, сначала будет запущен ваш скрипт, а не пакетный файл, если есть исполняемый файл с тем же именем.

  • Ассоциируйте расширение .PHP с конкретным типом файла. Это можно сделать выполнив следующую команду:

    assoc .php=phpfile
    

  • Ассоциируйте тип файла phpfile с соответствующим исполняемым PHP файлом. Это можно сделать выполнив команду:

    ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2
    

Выполнение этих шагов позволит PHP скриптам выполняться из любой директории без необходимости указывать исполняемый PHP файл или расширение .PHP, а все параметры будут переданы в скрипт для обработки.

В примере ниже описываются некоторые изменения реестра, которые могут быть сделаны вручную.

Пример #1 Изменения реестра

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\PHP5\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\PHP5\\php.exe\" -f \"%1\" -- %~2"

С этими изменениями команда может быть записана как:

"C:\PHP Scripts\script" -arg1 -arg2 -arg3
или, если ваш путь в переменной окружения "C:\PHP Scripts" PATH:
script -arg1 -arg2 -arg3

Замечание:

Возникает небольшая проблема, если вы собираетесь использовать эту технику и используете ваши PHP-скрипты как фильтры командной строки, как в примере ниже:

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
или
dir | script -arg1 -arg2 -arg3
Вы можете увидеть, что ваш скрипт завис и ничего не делает. Для того чтобы оперативно получать об этом информацию, вам нужно внести в реестр еще некоторые изменений.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
Дополнительную информацию можно найти в » базе знаний Microsoft, статья 321788.



Вернуться к: Установка в системах Windows

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware