ΠΠΈΠΊΠΎΠ½Π°Π½Π½Ρ PHP-ΡΠ°ΠΉΠ»ΡΠ²
Π£ CLI SAPI Ρ ΡΡΠΈ ΡΡΠ·Π½Ρ ΡΠΏΠΎΡΠΎΠ±ΠΈ Π·Π°ΠΏΡΡΠΊΡ PHP-ΠΊΠΎΠ΄Ρ:
-
ΠΠΊΠ°Π·ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΡ.
$ php my_script.php $ php -f my_script.php
ΠΠ±ΠΈΠ΄Π²Π° ΡΠΏΠΎΡΠΎΠ±ΠΈ (ΡΠ· Π·Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌ ΠΎΠΏΡΡΡ**-f**Π°Π±ΠΎ Π±Π΅Π·) Π·Π°ΠΏΡΡΡΡΡΡ ΡΠ°ΠΉΠ» my_script.php. ΠΠ΅ΠΌΠ°Ρ ΠΎΠ±ΠΌΠ΅ΠΆΠ΅Π½Ρ, ΡΠΊΠΈΠΉ ΡΠ°ΠΉΠ» Π·Π°ΠΏΡΡΠΊΠ°ΡΠΈ; Π·ΠΎΠΊΡΠ΅ΠΌΠ°, ΡΠ°ΠΉΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ²ΠΈΠ½Π½Ρ ΠΌΠ°ΡΠΈ ΡΠΎΠ·ΡΠΈΡΠ΅Π½Π½Ρ
.php
-
ΠΠ°Π΄ΡΡΠ»Π°ΡΠΈ PHP-ΠΊΠΎΠ΄ Π±Π΅Π·ΠΏΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡ ΡΡΠ΄ΠΊΡ.
$ php -r 'print_r(get_defined_constants());'
ΠΠ΅ΠΎΠ±Ρ ΡΠ΄Π½ΠΎ Π±ΡΡΠΈ ΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΎ ΠΎΠ±Π΅ΡΠ΅ΠΆΠ½ΠΈΠΌ ΠΏΡΠ΄ ΡΠ°Ρ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ ΡΡΠΎΠ³ΠΎ, Ρ.ΠΊ. ΠΌΠΎΠΆΠ΅ ΡΡΠ°ΡΠΈΡΡ ΠΏΡΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·ΠΌΡΠ½Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΡΠ΄ ΡΠ°Ρ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ ΠΏΠΎΠ΄Π²ΡΠΉΠ½ΠΈΡ Π»Π°ΠΏΠΎΠΊ.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π£Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄: Ρ Π½ΡΠΎΠΌΡ Π½Π΅ΠΌΠ°Ρ ΡΠ΅Π³ΡΠ², ΡΠΎ Π²ΡΠ΄ΠΊΡΠΈΠ²Π°ΡΡΡ Ρ Π·Π°ΠΊΡΠΈΠ²Π°ΡΡΡ! ΠΠΏΡΡΡ**-r**ΠΏΡΠΎΡΡΠΎ ΡΡ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΡ, Ρ ΡΡ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ ΠΏΡΠΈΠ·Π²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ ΡΠΎΠ·Π±ΠΎΡΡ.
-
ΠΠ΅ΡΠ΅Π΄Π°ΡΠΈ PHP-ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΠΉ ΠΏΠΎΡΡΠΊ Π²Π²Π΅Π΄Π΅Π½Π½Ρ (
stdin
Π¦Π΅ Π΄Π°Ρ ΠΏΠΎΡΡΠΆΠ½Ρ ΠΌΠΎΠΆΠ»ΠΈΠ²ΡΡΡΡ ΡΡΠ²ΠΎΡΡΠ²Π°ΡΠΈ PHP-ΠΊΠΎΠ΄ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΠΈ ΠΉΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡΡ, ΡΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΡΠΎΠΌΡ (Π²ΠΈΠ³Π°Π΄Π°Π½ΠΎΠΌΡ) ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
$ some_application | some_filter | php | sort -u > final_output.txt
ΠΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ±ΡΠ½ΡΠ²Π°ΡΠΈ Π±ΡΠ΄Ρ-ΡΠΊΠΈΠΉ ΡΠ· ΡΠΈΡ ΡΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±ΡΠ² Π·Π°ΠΏΡΡΠΊΡ ΠΊΠΎΠ΄Ρ.
Π―ΠΊ Ρ Π±ΡΠ΄Ρ-ΡΠΊΠ° ΡΠ½ΡΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, Π±ΡΠ½Π°ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» PHP ΠΏΡΠΈΠΉΠΌΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ, Π°Π»Π΅ PHP-ΡΠΊΡΠΈΠΏΡ ΡΠ°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ΅ ΠΎΡΡΠΈΠΌΡΠ²Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ. PHP Π½Π΅ ΠΎΠ±ΠΌΠ΅ΠΆΡΡ ΠΊΡΠ»ΡΠΊΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡΠ², ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡΡ Π² ΡΠΊΡΠΈΠΏΡ (ΠΎΠ±ΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²ΡΡΠ°Π½ΠΎΠ²Π»ΡΡ ΠΏΠ΅Π²Π½ΠΈΠΉ ΠΏΠΎΡΡΠ³ ΠΊΡΠ»ΡΠΊΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ², ΡΠΊΡ ΠΌΠΎΠΆΡΡΡ Π±ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ; Π·Π°Π·Π²ΠΈΡΠ°ΠΉ ΡΡΠΎΠ³ΠΎ Π»ΡΠΌΡΡΡ Π²ΠΈΡΡΠ°ΡΠ°Ρ). ΠΠ΅ΡΠ΅Π΄Π°Π½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠ°ΡΠΈΠ²Ρ $argv. ΠΠ΅ΡΡΠΈΠΉ ΡΠ½Π΄Π΅ΠΊΡ (Π½ΡΠ»Ρ) Π·Π°Π²ΠΆΠ΄ΠΈ ΠΌΡΡΡΠΈΡΡ ΡΠΌ'Ρ ΡΠΊΡΠΈΠΏΡΠ° Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ°. ΠΡΠ°Ρ
ΡΠΉΡΠ΅, ΡΠΎ ΡΠΊΡΠΎ ΠΊΠΎΠ΄ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡΡΡ Π½Π° Π»ΡΠΎΡΡ Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ ΠΎΠΏΡΡΡ -r, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ$argv[0]Π±ΡΠ΄Π΅Ρ"Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΠΉ ΠΏΠΎΡΡΠΊ"
("Standard input code"); Π΄ΠΎ PHP 7.2.0 ΡΠ΅ Π±ΡΠ² Π΄Π΅ΡΡΡ ("-"
). Π’Π΅ ΡΠ°ΠΌΠ΅ Π²ΡΡΠ½ΠΎ Ρ Π΄Π»Ρ ΠΊΠΎΠ΄Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½Π²Π΅ΡΡ Π· STDIN
ΠΡΡΠ³Π° Π·Π°ΡΠ΅ΡΡΡΡΠΎΠ²Π°Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π° Π·ΠΌΡΠ½Π½Π° - ΡΠ΅ $argc, ΡΠΎ ΠΌΡΡΡΠΈΡΡ ΠΊΡΠ»ΡΠΊΡΡΡΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΡΠ² Ρ ΠΌΠ°ΡΠΈΠ²Ρ $argv(Π°Π½Π΅ ΠΊΡΠ»ΡΠΊΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΡ).
Π―ΠΊΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ, ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡΡ, Π½Π΅ ΠΏΠΎΡΠΈΠ½Π°ΡΡΡΡΡ Π· ΡΠΈΠΌΠ²ΠΎΠ»Ρ -
, ΡΠΎ ΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ ΠΏΠΎΠ²ΠΈΠ½Π½ΠΎ Π±ΡΡΠΈ. ΠΠ΅ΡΠ΅Π΄Π°ΡΡΡΡΡ Π² ΡΠΊΡΠΈΠΏΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠΊΠΈΠΉ ΠΏΠΎΡΠΈΠ½Π°ΡΡΡΡΡ Π· -
ΡΡΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Ρ.ΠΊ. PHP Π²ΠΈΡΡΡΠΈΡΡ, ΡΠΎ Π²ΡΠ½ ΡΠ°ΠΌ ΠΌΠ°Ρ ΠΉΠΎΠ³ΠΎ ΠΎΠ±ΡΠΎΠ±ΠΈΡΠΈ. ΠΠ»Ρ Π·Π°ΠΏΠΎΠ±ΡΠ³Π°Π½Π½Ρ ΡΠ°ΠΊΡΠΉ ΠΏΠΎΠ²Π΅Π΄ΡΠ½ΡΡ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ ΡΠΎΠ·Π΄ΡΠ»ΡΠ½ΠΈΠΊ ΡΠΏΠΈΡΠΊΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡΠ² --
. ΠΡΡΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΠΊ ΡΠ΅ΠΉ ΡΠΎΠ·Π΄ΡΠ»ΡΠ½ΠΈΠΊ Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ°Π½Π°Π»ΡΠ·ΠΎΠ²Π°Π½ΠΎ PHP, Π²ΡΡ Π½Π°ΡΡΡΠΏΠ½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π±ΡΠ΄ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π² ΡΠΊΡΠΈΠΏΡ Π½Π΅Π·Π°ΠΉΠΌΠ°Π½ΠΈΠΌΠΈ.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ PHP
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ '-h' Π² ΡΠΊΡΠΈΠΏΡ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΠ² ΠΏΠΎΠΊΠ°Π· ΡΠΏΡΠ°Π²ΠΊΠΈ PHP
$ php -r 'var_dump($argv);' -- -h
array(2) {
[0]=>
string(1) "-"
[1]=>
string(2) "-h"
}
ΠΠ΄Π½Π°ΠΊ Ρ Unix-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Ρ ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΡΠ± Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ PHP Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΈΡ
ΡΠΊΡΠΈΠΏΡΡΠ². ΠΠΎΠΆΠ½Π° Π½Π°ΠΏΠΈΡΠ°ΡΠΈ ΡΠΊΡΠΈΠΏΡ, ΠΏΠ΅ΡΡΠΈΠΉ ΡΡΠ΄ΠΎΠΊ ΡΠΊΠΎΠ³ΠΎ Π±ΡΠ΄Π΅ ΠΏΠΎΡΠΈΠ½Π°ΡΠΈΡΡ Π· #!/usr/bin/php
(Π°Π±ΠΎ ΡΠ½ΡΠΈΠΉ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΈΠΉ ΡΠ»ΡΡ
Π΄ΠΎ Π±ΡΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ PHP CLI). ΠΡΡΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° ΠΌΠΎΠΆΠ½Π° ΠΏΠΎΠΌΡΡΡΠΈΡΠΈ Π·Π²ΠΈΡΠ°ΠΉΠ½ΠΈΠΉ PHP-ΠΊΠΎΠ΄, ΡΠΊΠ»Π°Π΄Π΅Π½ΠΈΠΉ Ρ ΡΠ΅Π³ΠΈ PHP, ΡΠΎ Π²ΡΠ΄ΠΊΡΠΈΠ²Π°ΡΡΡ Ρ Π·Π°ΠΊΡΠΈΠ²Π°ΡΡΡ. Π―ΠΊ ΡΡΠ»ΡΠΊΠΈ Π±ΡΠ΄Π΅ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠ½Ρ Π°ΡΡΠΈΠ±ΡΡΠΈ Π·Π°ΠΏΡΡΠΊΡ Π½Π° ΡΠ°ΠΉΠ» (Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄, chmod +x test), ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ Π·Π°ΠΏΡΡΠ΅Π½ΠΈΠΉ ΡΠΊ Π·Π²ΠΈΡΠ°ΠΉΠ½ΠΈΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΈΠΉ Π°Π±ΠΎ perl-ΡΠΊΡΠΈΠΏΡ:
ΠΡΠΈΠΊΠ»Π°Π΄ #1 ΠΠ°ΠΏΡΡΠΊ PHP-ΡΠΊΡΠΈΠΏΡΡ ΡΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ
Loading...
ΠΡΠΈΠΏΡΡΠΊΠ°ΡΡΠΈ, ΡΠΎ ΡΠ΅ΠΉ ΡΠ°ΠΉΠ» Π½Π°Π·Π²Π°Π½ΠΈΠΉ test Ρ Π·Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠΎΡΠΎΡΠ½ΡΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΡΡ, ΠΌΠΎΠΆΠ½Π° Π·ΡΠΎΠ±ΠΈΡΠΈ ΡΠ°ΠΊΠ΅:
$ chmod +x test
$ ./test -h -- foo
array(4) {
[0]=>
string(6) "./test"
[1]=>
string(2) "-h"
[2]=>
string(2) "--"
[3]=>
string(3) "foo"
}
Π―ΠΊ ΠΌΠΎΠΆΠ½Π° ΠΏΠΎΠ±Π°ΡΠΈΡΠΈ, Ρ ΡΡΠΎΠΌΡ Π²ΠΈΠΏΠ°Π΄ΠΊΡ Π½Π΅ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π΄Π±Π°ΡΠΈ ΠΏΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ², ΡΠΊΡ ΠΏΠΎΡΠΈΠ½Π°ΡΡΡΡΡ Π· -
PHP-ΡΠ°ΠΉΠ», ΡΠΎ Π²ΠΈΠΊΠΎΠ½ΡΡΡΡΡΡ, ΠΌΠΎΠΆΠ΅ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΡ PHP-ΡΠΊΡΠΈΠΏΡΡΠ² Π½Π΅Π·Π°Π»Π΅ΠΆΠ½ΠΎ Π²ΡΠ΄ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°. Π£ ΡΠ°Π·Ρ ΡΠΎΠ±ΠΎΡΠΈ Π² Unix-ΠΏΠΎΠ΄ΡΠ±Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ
ΡΠ΄Π½ΠΎ Π΄ΠΎΠ΄Π°ΡΠΈ Π² ΠΏΠ΅ΡΡΠΈΠΉ ΡΡΠ΄ΠΎΠΊ ΡΠ°ΠΉΠ»Ρ #!
(Π½Π°Π·ΠΈΠ²Π°ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΆ "shebang") ΡΠΎΠ± Π²ΠΊΠ°Π·Π°ΡΠΈ, ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΏΠΎΠ²ΠΈΠ½Π½Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΠΈ ΡΠΊΡΠΈΠΏΡ. ΠΠ° Windows-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΌΠΎΠΆΠ½Π° ΠΏΡΠΈΠ·Π½Π°ΡΠΈΡΠΈ php.exe Π΄Π»Ρ ΡΠ°ΠΉΠ»ΡΠ² Π· ΡΠΎΠ·ΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ .php
Π°Π±ΠΎ ΡΡΠ²ΠΎΡΠΈΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΠΉ (.bat) ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΡ ΡΠΊΡΠΈΠΏΡΡΠ² Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ PHP. Π ΡΠ΄ΠΎΠΊ, ΡΠΎ Π΄ΠΎΠ΄Π°ΡΡΡΡΡ Π½Π° ΠΏΠΎΡΠ°ΡΠΊΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ Unix-ΡΠΈΡΡΠ΅ΠΌ, Π½Π΅ Π²ΠΏΠ»ΠΈΠ²Π°Ρ Π½Π° ΡΡ
ΡΠΎΠ±ΠΎΡΡ Π² Windows, ΡΠ°ΠΊΠΈΠΌ ΡΠΈΠ½ΠΎΠΌ ΠΌΠΎΠΆΠ½Π° ΡΡΠ²ΠΎΡΡΠ²Π°ΡΠΈ ΠΊΡΠΎΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ²Ρ ΡΠΊΡΠΈΠΏΡΠΈ. ΠΠΈΠΆΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΡΠΎΡΡΠΈΠΉ ΠΏΡΠΈΠΊΠ»Π°Π΄ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠΎΠ½ΡΡΡΡΡΡ Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ°:
ΠΡΠΈΠΊΠ»Π°Π΄ #2 Π‘ΠΊΡΠΈΠΏΡ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΡ Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° (script.php)
Loading...
Π£ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠΌΡ Π²ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π² ΠΏΠ΅ΡΡΠΎΠΌΡ ΡΡΠ΄ΠΊΡ ΠΌΡΡΡΠΈΡΡΡΡ shebang, ΡΠΎ Π²ΠΊΠ°Π·ΡΡ Π½Π° ΡΠ΅, ΡΠΎ ΡΠ΅ΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΠ²ΠΈΠ½Π΅Π½ Π·Π°ΠΏΡΡΠΊΠ°ΡΠΈΡΡ PHP. Π ΠΎΠ±ΠΎΡΠ° Π²Π΅Π΄Π΅ΡΡΡΡ Π· CLI-Π²Π΅ΡΡΡΡΡ, ΡΠΎΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ Π²ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΆΠΎΠ΄Π½ΠΎΠ³ΠΎ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.
Π‘ΠΊΡΠΈΠΏΡ ΡΠΏΠΎΡΠ°ΡΠΊΡ ΠΏΠ΅ΡΠ΅Π²ΡΡΡΡ Π½Π°ΡΠ²Π½ΡΡΡΡ ΠΎΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ (Π½Π° Π΄ΠΎΠ΄Π°ΡΠΎΠΊ Π΄ΠΎ ΡΠΌΠ΅Π½Ρ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠΊΠΈΠΉ ΡΠ°ΠΊΠΎΠΆ ΠΏΡΠ΄ΡΠ°Ρ ΠΎΠ²ΡΡΡΡΡΡ). Π―ΠΊΡΠΎ ΡΡ Π½Π΅ΠΌΠ°Ρ, Π°Π±ΠΎ ΡΠΊΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΡΠ² --help -help -h Π°Π±ΠΎ -? , Π²ΠΈΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π΄ΠΎΠ²ΡΠ΄ΠΊΠΎΠ²Π΅ ΠΏΠΎΠ²ΡΠ΄ΠΎΠΌΠ»Π΅Π½Π½Ρ Π· Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½ΡΠΌ $argv[0], ΡΠΊΠ΅ ΠΌΡΡΡΠΈΡΡ ΡΠΌ'Ρ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠΎ Π²ΠΈΠΊΠΎΠ½ΡΡΡΡΡΡ. ΠΠ½Π°ΠΊΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΠΈΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΡΡΠΈΠΌΠ°Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΡ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ Π² Unix-ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π·ΡΠΎΠ±ΠΈΡΠΈ ΠΉΠΎΠ³ΠΎ Π²ΠΈΠΊΠΎΠ½ΡΠ²Π°Π½ΠΈΠΌ Ρ ΠΏΡΠΎΡΡΠΎ Π²ΠΈΠΊΠΎΠ½Π°ΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ script.php echothis Π°Π±ΠΎ script.php -h. Π£ Windows-ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½Π° ΡΡΠ²ΠΎΡΠΈΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ»:
ΠΡΠΈΠΊΠ»Π°Π΄ #3 ΠΠ°ΠΊΠ΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΡ PHP-ΡΠΊΡΠΈΠΏΡΡ Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° (script.bat)
@echo OFF "C:\php\php.exe" script.php %*
ΠΡΠΈΠΏΡΡΠΊΠ°ΡΡΠΈ, ΡΠΎ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π²ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π½Π°Π·ΠΈΠ²Π°ΡΡΡΡΡ script.php, Π° ΠΏΠΎΠ²Π½ΠΈΠΉ ΡΠ»ΡΡ Π΄ΠΎ CLI php.exe Π·Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² C:\php\php.exe, ΡΠ΅ΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΉΠΎΠ³ΠΎ Π· ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ: script.bat echothis Π°Π±ΠΎ script.bat -h
Π’Π°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ½Π° ΠΎΠ·Π½Π°ΠΉΠΎΠΌΠΈΡΠΈΡΡ ΡΠ· ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Readline Π΄Π»Ρ ΠΎΡΡΠΈΠΌΠ°Π½Π½Ρ Π΄ΠΎΠ΄Π°ΡΠΊΠΎΠ²ΠΈΡ ΡΡΠ½ΠΊΡΡΠΉ, ΡΠΊΡ ΠΌΠΎΠΆΠ½Π° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ Π΄Π»Ρ ΠΏΠΎΠΊΡΠ°ΡΠ΅Π½Π½Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ PHP-ΡΠΊΡΠΈΠΏΡΡ.
Π£ Windows Π·Π°ΠΏΡΡΠΊ PHP ΠΌΠΎΠΆΠ½Π° Π½Π°Π»Π°ΡΡΡΠ²Π°ΡΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΡΠ΄Π½ΠΎΡΡΡ Π²ΠΊΠ°Π·ΡΠ²Π°ΡΠΈ C:\php\php.exe Π°Π±ΠΎ ΡΠΎΠ·ΡΠΈΡΠ΅Π½Π½Ρ .php
. ΠΠΎΠΊΠ»Π°Π΄Π½ΡΡΠ΅ ΡΡ ΡΠ΅ΠΌΡ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠΎΠ·Π΄ΡΠ»Ρ ΠΠ°ΠΏΡΡΠΊ PHP Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° Ρ Microsoft Windows
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π£ Windows ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΠΈ PHP ΠΏΡΠ΄ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΈΠΌ ΠΎΠ±Π»ΡΠΊΠΎΠ²ΠΈΠΌ Π·Π°ΠΏΠΈΡΠΎΠΌ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ°. ΠΡΠ΄ ΡΠ°Ρ ΡΠΎΠ±ΠΎΡΠΈ Π² ΠΌΠ΅ΡΠ΅ΠΆΠ½ΡΠΉ ΡΠ»ΡΠΆΠ±Ρ Π΄Π΅ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΡΡ Π½Π΅ Π±ΡΠ΄ΡΡΡ Π²ΠΈΠΊΠΎΠ½Π°Π½Ρ, ΠΎΡΠΊΡΠ»ΡΠΊΠΈ "ΠΏΠΎΡΡΠ²Π½ΡΠ½Π½Ρ ΡΠΌΠ΅Π½ ΠΎΠ±Π»ΡΠΊΠΎΠ²ΠΈΡ Π·Π°ΠΏΠΈΡΡΠ² ΡΠ° ΡΠ΄Π΅Π½ΡΠΈΡΡΠΊΠ°ΡΠΎΡΡΠ² Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ Π½Π΅ Π²ΠΈΠΊΠΎΠ½Π°Π½ΠΎ".