Make sure your run CMD.exe as an administrator, otherwise you'll get an "access denied" when you run the commands.Извршување PHP на командна линија на Windows системи
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Извршување PHP на командна линија на Windows системи
Референца за `install.windows.commandline.php` со подобрена типографија и навигација.
Извршување PHP на командна линија на Windows системи
Овој дел содржи белешки и совети специфични за стартување на PHP од командна линија за Windows.
Забелешка:
Прочитајте ги чекорите за рачна инсталација прво!
Стартувањето на PHP од командна линија може да се изврши без да се прават никакви промени во Windows.
C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
Но, постојат неколку лесни чекори што може да се следат за да се поедностави ова. Некои од овие чекори веќе треба да биле преземени, но се повторуваат тука за да може да се обезбеди целосна секвенца чекор по чекор.
-
Додадете ја локацијата на PHP извршната датотека (php.exe, php-win.exe or php-cli.exe во зависност од верзијата на PHP и преференциите за приказ) на PATH променливата на околината. Прочитајте повеќе за тоа како да го додадете соодветниот директориум на PATH во соодветниот запис во ЧПП.
-
Додадете ја
.PHPекстензијата на PATHEXT променливата на околината. Ова може да се направи истовремено со измена на PATH променливата на околината. Следете ги истите чекори како што е опишано во FAQ но изменете ја PATHEXT променливата на околината наместо PATH променливата на околината.Забелешка:
The position in which the
.PHPПозицијата во која ќе се.PHPbefore.BATпостави ќе одреди кое скриптно или програмско ќе се изврши кога има соодветни имиња на датотеки. На пример, поставувањето на -
ќе предизвика скриптата да се изврши, наместо batch датотеката, ако постои batch датотека со исто име.
.PHPПоврзете јаassoc .php=phpfile
-
ќе предизвика скриптата да се изврши, наместо batch датотеката, ако постои batch датотека со исто име.
phpfileекстензијата со тип на датотека. Ова се прави со извршување на следнава команда:ftype phpfile="C:\php\php.exe" -f "%1" -- %~2
Забелешка:
И двете PATH and PATHEXT се важни претходно постоечки системски променливи во Windows, и треба да се внимава да не се пребрише ниту една од променливите, само да се додаде на нив.
Типот на датотеката соодветно со PHP извршната датотека. Ова се прави со извршување на следнава команда: .PHP
Следењето на овие чекори ќе овозможи PHP скрипти да се извршуваат од која било директориум без потреба да се пишува PHP извршната датотека или
екстензијата и сите параметри ќе бидат предадени на скриптата за обработка.
Примерот подолу детализира некои од промените во регистарот што можат да се направат рачно.
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:\\php\\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:\\php\\php.exe\" -f \"%1\" -- %~2"
Пример #1 Промени во регистарот
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
"C:\PHP Scripts" или, ако
PATH директориумот е во
script -arg1 -arg2 -arg3
Забелешка:
променливата на опкружувањето:
ordir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3Постои мал проблем кога се намерава да се користи оваа техника за извршување на PHP скрипти како филтер на командна линија, како што е примерот подолу:dir | script -arg1 -arg2 -arg3Скриптата може едноставно да се замрзне и ништо да не се прикаже. За да се направи ова оперативно, потребна е уште една промена во регистарот: Понатамошни информации во врска со овој проблем може да се најдат во овој» Член од базата на знаење на Microsoft: 321788 . Од Windows 10, оваа поставка изгледа е обратна, правејќи го стандардното инсталирање на Windows 10 автоматски да поддржува наследени конзолни рачки. Ова ја дава објаснувањето.Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer] "InheritConsoleHandles"=dword:00000001
Белешки од корисници 2 забелешки
On Windows 10 starting php by only typing the script name in an elevated command prompt pops up a dialog to choose an app.
It turns out Windows does that when the program associated with phpfiles through ftype cannot be executed. In this case this happens because it is trying to run php.exe in non-admin mode, even when launched from an elevated command prompt. To fix this, locate your php.exe, right-click, "Properties", "Compatibility", under Settings check "Run this program as an administrator; then also click "Change settings for all users".