Запуск PHP Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС систСмы Windows

Π Π°Π·Π΄Π΅Π» содСрТит примСчания ΠΈ подсказки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ запуска PHP ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Windows.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ пошаговоС руководство ΠΏΠΎ установкС!

PHP Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π±Π΅Π· внСсСния ΠΊΠ°ΠΊΠΈΡ… Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Windows.

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

Но Π΅ΡΡ‚ΡŒ нСсколько шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ запуск PHP ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ шаги ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий.

    Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

    ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния PATH ΠΈ PATHEXT β€” Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ появились Π² Windows Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ для Π½ΠΈΡ… значСния.

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ располоТСниС исполняСмого Ρ„Π°ΠΉΠ»Π° PHP β€” php.exe, php-win.exe ΠΈΠ»ΠΈ php-cli.exe, Π² зависимости ΠΎΡ‚ вСрсии PHP ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ отобраТСния β€” Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PATH. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° PHP Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PATH рассказываСт запись часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… вопросов.

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .PHP ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PATHEXT. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PATH. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ‚Π΅ ΠΆΠ΅ дСйствия, Ρ‡Ρ‚ΠΎ ΠΈ Π² Π§ΠΠ’Πž, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PATHEXT, Π° Π½Π΅ PATH.

    Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

    ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .PHP, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ скрипт ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполнится ΠΏΡ€ΠΈ совпадСнии ΠΈΠΌΡ‘Π½ Ρ„Π°ΠΉΠ»ΠΎΠ². НапримСр, располоТСниС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .PHP ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .BAT запустит скрипт, Π° Π½Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Ссли ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ содСрТит ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.

  • НастройтС Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .PHP с Ρ‚ΠΈΠΏΠΎΠΌ Ρ„Π°ΠΉΠ»Π° ΠΏΡƒΡ‚Ρ‘ΠΌ запуска ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

    assoc .php=phpfile
    
  • НастройтС Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»Π° phpfile с исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ PHP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт этому Ρ‚ΠΈΠΏΡƒ Ρ„Π°ΠΉΠ»Π°, ΠΏΡƒΡ‚Ρ‘ΠΌ запуска ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

    ftype phpfile="C:\php\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:\\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"

Π‘ этими измСнСниями эту ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ получится Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

"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 10 этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ, ΠΈ стандартная установка Windows 10 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ унаслСдованныС дСскрипторы консоли. Π­Ρ‚ΠΎ »  сообщСниС Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ΅ Microsoft Π΄Π°Ρ‘Ρ‚ объяснСниС.
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 2 notes

up
0
pimroes at gmail dot com ΒΆ
15 years ago
Make sure your run CMD.exe as an administrator, otherwise you'll get an "access denied" when you run the commands.
up
-3
rudigerw at hotmail dot com ΒΆ
10 years ago
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".