ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° php: PHP: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ PHP Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² PHP Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ / Π₯Π°Π±Ρ
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
Ubuntu ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ apache2 ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ\Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
Ρ
ΠΎΡΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
Ρ
ΠΎΡΡΠΎΠ² ΠΎΡΠ½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠΎΡΡΠΎΠΌΡ, ΠΌΠ½Π΅ Π·Π°Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ΄Π΅Π»Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ Π΄Π»Ρ Π°ΠΏΠ°ΡΠ°, Π½ΠΎ Ρ ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
Ρ
ΠΎΡΡΠΎΠ² Π΄Π»Ρ Π°ΠΏΠ°ΡΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠΌΡ Ρ
ΠΎΡΡΠ° Π² ΡΠ°ΠΉΠ» /etc/hosts. Π― Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ ΠΏΠΈΡΡ ΡΠΊΡΠΈΠΏΡΡ Π² bash’e, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PHP Π΄Π»Ρ ΠΌΠΎΠ΅ΠΉ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅, Π·Π½Π°Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ.
ΠΡΠ°ΠΊ, Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠ°Π·Ρ Π΄Π²Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
Π²Π΅ΡΠΈ: ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π²Π²ΠΎΠ΄Π°\Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² PHP ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΡΠΈΡ Π½Π°ΠΌ ΠΆΠΈΠ·Π½Ρ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π½ΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ PHP ΡΠΊΡΠΈΠΏΡΠ° Π½Π°ΠΏΠΈΡΠ°ΡΡ#!/usr/bin/env php
ΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Linux.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ Ρ Π½Π°Ρ ΠΏΡΠ°Π²ΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΡΡ ΡΠ°ΠΌΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Ρ ΠΎΡΡΠΎΠ², Π° ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½Ρ root ΠΏΡΠ°Π²Π°. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ:
- $virtual_hosts_dirΒ =Β «/etc/apache2/sites-available/»;
- ifΒ (!is_dir($virtual_hosts_dir)Β ||Β !is_writable($virtual_hosts_dir))
- {
- Β Β Β Β echoΒ «YouΒ mustΒ runΒ thisΒ scriptΒ asΒ root!\n»;
- Β Β Β Β exit;
- }
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ°Π»Π΅Π΅, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ·Π½Π°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΌ Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³Π°. ΠΡΠΎΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΡΠΈΠΏΡΠ°. Π PHP Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ $argc ΠΈ $argv. ΠΠ΅ΡΠ²Π°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π° Π²ΡΠΎΡΠ°Ρ β ΠΌΠ°ΡΡΠΈΠ² ΡΠΎ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ β ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΌΡ ΡΠΊΡΠΈΠΏΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°:
- ifΒ ($argc>1)Β
- {Β
- Β Β Β Β forΒ ($i=1;Β $i<$argc;Β $i++)Β
- Β Β Β Β {Β
- Β Β Β Β Β Β Β Β $optionΒ =Β explode(«=»,Β $argv[$i]);Β
- Β Β Β Β Β Β Β Β switchΒ ($option[0])Β
- Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «-h»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «—add-to-hosts»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β $add_to_hostsΒ =Β true;Β
- Β Β Β Β Β Β Β Β Β Β Β Β break;
- Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «-n»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «—no-add-to-hosts»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β $add_to_hostsΒ =Β false;Β
- Β Β Β Β Β Β Β Β Β Β Β Β break;
- Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «-a»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «—server-alias»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β ifΒ (isset($option[1]))Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β $server_aliasΒ =Β $option[1];Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β }Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β elseΒ
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β echoΒ «WrongΒ option:Β {$argv[$i]}\n»;Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β }Β
- Β Β Β Β Β Β Β Β Β Β Β Β break;
- Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «-d»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β caseΒ «—document-root»:Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β ifΒ (isset($option[1]))Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β ifΒ ($option[1]Β ==Β «default»)Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β $document_rootΒ =Β $default_doc_rootΒ
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β }Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β elseΒ ifΒ (is_dir(dirname($option[1])))Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β $document_rootΒ =Β $option[1];Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β }Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β }Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β elseΒ
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β echoΒ «WrongΒ option:Β {$argv[$i]}\n»;Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β }Β
- Β Β Β Β Β Β Β Β Β Β Β Β break;
- Β
- Β Β Β Β Β Β Β Β Β Β Β Β default:Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β ifΒ (substr($argv[$i],Β 1,Β 1)Β ==Β ‘-‘)Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β {Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β echoΒ «UnknownΒ option:Β {$argv[$i]}\n»;Β
- Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β }Β
- Β Β Β Β Β Β Β Β Β Β Β Β break;Β
- Β Β Β Β Β Β Β Β }Β
- Β Β Β Β }Β
- }
- Β
ΠΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°\Π²ΡΠ²ΠΎΠ΄Π°
ΠΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π²Π΅Π΄Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²Π±ΠΈΠ²Π°ΡΡ ΠΊΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΡΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅ΡΡΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°\Π²ΡΠ²ΠΎΠ΄Π°, Π° Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Π²ΠΎΠ΄Π°. Π PHP Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°\Π²ΡΠ²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ STDIN, STDOUT, STDERR. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΈ ΠΏΠΎΡΠΎΠΊΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΎΠΊΠ°:
- $lineΒ =Β fgets(STDIN);
ΠΏΡΠΎΡΡΠΎ ΡΡΠΈΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠ΅Ρ Π΅Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $line. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Π»ΠΈ ΠΈ Π½Π΅ Π·Π°ΠΊΡΡΠ²Π°Π»ΠΈ ΠΏΠΎΡΠΎΠΊ, Ρ.ΠΊ. PHP Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΡΠΎΠΊ Π²ΡΡΡΠ½ΡΡ ΠΈ Π΄Π΅ΡΠΆΠ°ΡΡ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΡΡΠΌ ΡΡΠΎΠ»ΡΠΊΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅, Π΅ΡΠ»ΠΈ ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ\Π·Π°ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
- $stdinΒ =Β fopen(«php://stdin»,Β «r»);
- $line1Β =Β gets($stdin);
- $line2Β =Β gets($stdin);
- fclose($stdin);
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΠΎΡΠΎΠΊ, ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ.
Π‘ Π·Π°ΠΏΠΈΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Ρ
ΠΎΡΡ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ echo.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π½Π°Ρ ΡΠΊΡΠΈΠΏΡ. ΠΠΎΠΊΠ° Ρ Π½Π°Ρ Π½Π΅Ρ Ρ ΠΎΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΡΠΎΠΊΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ ΠΎΡΡΠ°, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΡΠΎ-ΡΠΎ Π²Π²Π΅Π»:
- whileΒ (!$server_alias)
- {
- Β Β Β Β echoΒ «EnterΒ yourΒ hostname:Β «;
- Β Β Β Β $server_aliasΒ =Β trim(fgets(STDIN));
- }
Π’Π΅ΠΏΠ΅ΡΡ, ΡΠΏΡΠΎΡΠΈΠΌ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠΎΠΌ Ρ ΠΎΡΡΠ΅ Π² /etc/hosts, Π½ΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡ Ρ ΠΏΠΈΡΠ°Π» ΡΠ΅Π±Π΅ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΡΠΎΠ² Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Ρ ΠΎΡΡ Π² /etc/hosts, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ, Π° ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Enter ΡΠΎ ΡΡΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ³Π»Π°ΡΠΈΠ΅:
- ifΒ ($add_to_hostsΒ ===Β null)
- {
- Β Β Β Β echoΒ «AddΒ $server_aliasΒ toΒ yourΒ /etc/hostsΒ ?Β (Y/N)Β [Y]:Β «;
- Β Β Β Β $lineΒ =Β trim(fgets(STDIN));
- Β Β Β Β ifΒ ($lineΒ ==Β ‘n’Β ||Β $lineΒ ==Β ‘N’)
- Β Β Β Β {
- Β Β Β Β Β Β Β Β $add_to_hostsΒ =Β false;
- Β Β Β Β }
- Β Β Β Β else
- Β Β Β Β {
- Β Β Β Β Β Β Β Β $add_to_hostsΒ =Β true;
- Β Β Β Β }
- }
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ Ρ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ ΡΠ°ΠΉΡΠ°:
- ifΒ (!$document_root)Β
- {Β
- Β Β Β Β $default_doc_rootΒ =Β $default_doc_root.’/’.$server_alias;Β
- Β Β Β Β echoΒ «EnterΒ yourΒ documentΒ rootΒ [$default_doc_root]:Β «;Β
- Β Β Β Β $lineΒ =Β trim(fgets(STDIN));Β
- Β Β Β Β ifΒ ($lineΒ &&Β is_dir(dirname($line)))Β
- Β Β Β Β {Β
- Β Β Β Β Β Β Β Β $document_rootΒ =Β $line;Β
- Β Β Β Β }Β
- Β Β Β Β elseΒ
- Β Β Β Β {Β
- Β Β Β Β Β Β Β Β $document_rootΒ =Β $default_doc_root;Β
- Β Β Β Β }Β
- }
- Β
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³-ΡΠ°ΠΉΠ»Π°
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²Π΅ΡΡ ΡΠ±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½ ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³. ΠΠ°Π΄ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡ, ΡΡΠΎ ΠΊΠΎΡΠ½Π΅Π²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠ°ΠΉΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π° Π΅ΡΠ»ΠΈ Π΅Ρ Π½Π΅Ρ β ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Ρ:
- ifΒ (!is_dir($document_root))
- {
- Β Β Β Β mkdir($document_root);
- }
ΠΡ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π»ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΎΡΡΠ° Π² /etc/hosts. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΎΠ³Π»Π°ΡΠΈΠ»ΡΡ:
- ifΒ ($add_to_hosts)
- {
- Β Β Β Β $hostsΒ =Β file_get_contents(«/etc/hosts»);
- Β Β Β Β $hostsΒ .=Β «127.0.0.1\t$server_alias\n»;
- Β Β Β Β file_put_contents(«/etc/hosts»,Β $hosts);
- }
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π°:
- $host_templateΒ =Β <<<HOST
- <VirtualHostΒ *:80>Β
- ServerAdminΒ [email protected]Β
- ServerAliasΒ $server_alias
- Β
- DocumentRootΒ $document_rootΒ
- <DirectoryΒ $document_root>Β
- Β Β Β Β OptionsΒ IndexesΒ FollowSymLinksΒ MultiViewsΒ
- Β Β Β Β AllowOverrideΒ AllΒ
- Β Β Β Β OrderΒ allow,denyΒ
- Β Β Β Β allowΒ fromΒ allΒ
- </Directory>
- Β
- ErrorLogΒ \${APACHE_LOG_DIR}/$server_alias-error.log;Β
- LogLevelΒ warnΒ
- CustomLogΒ \${APACHE_LOG_DIR}/$server_alias-access.logΒ combined
- </VirtualHost>
- HOST;
- Β
ΠΡ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ Π² ΡΠ°ΠΉΠ» ΠΈ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠ΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΅ΡΠ΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ a2ensite:
- file_put_contents(«/etc/apache2/sites-available/$server_alias»,Β $host_template);Β
- echoΒ «ApacheΒ configΒ forΒ thisΒ hostnameΒ createdΒ successfully!Β Don’tΒ forgetΒ toΒ runΒ a2ensiteΒ $server_alias\n»;
- Β
Π‘ΠΊΡΠΈΠΏΡ Π½Π°ΠΏΠΈΡΠ°Π½. ΠΡΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» ΠΈ Π½Π΅ Π·Π°Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»Π°Π³ +x, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:chmod +x a2addsite
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ:
% sudo ./a2addsite
Add test.local to your /etc/hosts? (Y/N) [Y]:
Enter your document root [/home/www/test.local]:
Apache config for this hostname created successfully! Don’t forget to run a2ensite test.local
ΡΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π²ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΊΡΠΈΠΏΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅:
% sudo ./a2addsite —server-alias=test2.local —add-to-hosts —document-root=default
Apache config for this hostname created successfully! Don’t forget to run a2ensite test2.local
ΠΡΠ²ΠΎΠ΄Ρ
PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ², Π½ΠΎ ΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅Π»ΠΊΠΈΡ
Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π°Π΄Π°Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π‘ΠΊΡΠΈΠΏΡ Ρ ΠΏΠΈΡΠ°Π» ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ ΠΈ, Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ°, ΠΊΡΠΎ-ΡΠΎ ΠΈΠ· ΠΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΈ Π½ΡΠΆΠ΄Ρ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΡΠΎΠΊΠ°Ρ
Π²Π²ΠΎΠ΄Π° Π²ΡΠ²ΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ
ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ Π² PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ PHP (Π°Π½Π³Π».):
Command line usage
PHP input/output
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° PHP Π² Microsoft Windows | Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ PHP
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ PHP, Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ
ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ !
PHP, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Windows.
C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
ΠΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ
ΡΠ°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ
ΡΠ°Π³ΠΎΠ² ΡΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, Π½ΠΎ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ
Π·Π΄Π΅ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π΅ Π±ΡΠ»Π° Π½Π°ΡΡΡΠ΅Π½Π°.
ΠΠΎΠΏΠΈΡΠΈΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² php (php.exe,
php-win.exe ΠΈΠ»ΠΈ php-cli.exe Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ ΠΈ Π²Π΅ΡΡΠΈΠΈ PHP) Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ PATH.
Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΊ PATH
ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ FAQ.ΠΠΎΠΏΠΈΡΠΈΡΠ΅ .PHP ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
PATHEXT. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² FAQ, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
PATHEXT Π²ΠΌΠ΅ΡΡΠΎ PATH.ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠΎΠ·ΠΈΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ .PHP, Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ,
ΠΊΠ°ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠ»Π° Ρ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ² .PHP ΠΏΠ΅ΡΠ΅Π΄
.BAT, ΡΠ½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π²Π°Ρ ΡΠΊΡΠΈΠΏΡ, Π° Π½Π΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»,
Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.ΠΡΡΠΎΡΠΈΠΈΡΡΠΉΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .PHP Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎ
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:ΠΡΡΠΎΡΠΈΠΈΡΡΠΉΡΠ΅ ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π° phpfile Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ PHP ΡΠ°ΠΉΠ»ΠΎΠΌ.
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠ°ΠΊ PATH, ΡΠ°ΠΊ ΠΈ PATHEXT
ΡΠ²Π»ΡΡΡΡΡ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π² Windows, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Π·Π°ΡΠ΅ΡΠ΅ΡΡ
ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ
ΡΠ°Π³ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ 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:
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ
ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π°ΡΠΈ 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
PHP: ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ — Manual
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ ΡΡΠΎΠ³ΠΎ CLI SAPI —
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° PHP.
ΠΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ
CLI SAPI ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ SAPI, ΠΊΠΎΡΠΎΡΡΠ΅
Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ CLI SAPI ΠΈ CGI —
ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ SAPI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Ρ
ΠΎΡΡ Π² ΠΈΡ
ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ.
CLI SAPI Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ
—enable-cli, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½
ΠΎΠΏΡΠΈΠ΅ΠΉ —disable-cli ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅
./configure.
ΠΠΌΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
CLI/CGI Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ PHP Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ
make ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ CGI-,
ΡΠ°ΠΊ ΠΈ CLI-ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡ
sapi/cgi/php-cgi
ΠΈ sapi/cli/php ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ,
Π²Π½ΡΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ PHP.
Π‘Π»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ±Π° ΡΠ°ΠΉΠ»Π° ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅:
php.
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ make install,
Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½ ΠΌΠΎΠ΄ΡΠ»Ρ SAPI
Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, apxs, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΡ
ΠΎΠΏΡΠΈΡ —disable-cgi,
ΠΌΠΎΠ΄ΡΠ»Ρ CLI Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ Π² {PREFIX}/bin/php ΠΏΡΠΈ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ make install, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ CGI-ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ
Π·Π°Π΄Π°Π½Π° ΠΎΠΏΡΠΈΡ —with-apxs,
ΡΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ make install
CLI-Π²Π΅ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π° Π² {PREFIX}/bin/php.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ CGI-ΠΌΠΎΠ΄ΡΠ»Ρ,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ make install-cli ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
make install. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΏΡΠΈΡ —disable-cgi
Π² ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±Π΅ ΠΎΠΏΡΠΈΠΈ, —enable-cli
ΠΈ —enable-cgi, Π²ΠΊΠ»ΡΡΠ΅Π½Ρ
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ Π½Π°Π»ΠΈΠ»ΡΠΈΠ΅
—enable-cli Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ CLI Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½
Π² {PREFIX}/bin/php ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ
make install.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ PHP 5, Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» CLI Π²Ρ
ΠΎΠ΄ΠΈΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²
Π΄Π»Ρ Windows Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠ»Π°php.exe.
CGI-Π²Π΅ΡΡΠΈΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ php-cgi.exe.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π²Ρ
ΠΎΠ΄ΠΈΡ ΡΠ°ΠΉΠ» php-win.exe,
Π΅ΡΠ»ΠΈ PHP Π±ΡΠ» ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ —enable-cli-win32.
ΠΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ CLI-Π²Π΅ΡΡΠΈΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ,
ΡΡΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ, ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ
(ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅).
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² SAPI ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½?ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ php -v
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ php
CGI ΠΈΠ»ΠΈ CLI. Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΡΡΠ½ΠΊΡΠΈΡ php_sapi_name() ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
PHP_SAPI
.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° (
man
)
Unix ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ man php
Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Windows PHP Lang
Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² php ΠΈ Ρ
ΠΎΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ php ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π― ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» WAMP ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» Β«Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅Β» Π² ΡΠ²ΠΎΡ ΠΏΠ°ΠΏΠΊΡ php (ΡΡΠΎ C:\wamp\bin\php\php5.4.3
).
ΠΠΎΠ³Π΄Π° Ρ ΠΈΠ΄Ρ Π² Run
-> CMD
-> ΠΠ²Π΅Π΄ΠΈΡΠ΅ php -a
ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ enter, ΠΎΠ½ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ interactive mode enabled
. ΠΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠΈΡΡ echo 'Hi';
ΠΎΠ½ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ.
Π― Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΠΈΠΆΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Β«php>Β», ΠΊΠΎΠ³Π΄Π° Ρ php -a
ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Ρ enter.
PHP CLI ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ (php Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ php.exe. ΠΠ½ ΠΆΠΈΠ²Π΅Ρ Π² c:\wamp\bin\php\php5.xy\php.exe
(Π³Π΄Π΅ x ΠΈ y β Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ php, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ)
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ php-ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ³Π΄Π° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π±Π΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠ°ΠΊ ΡΡΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡΠ΅ Π΅ΠΌΡ phppath.cmd
:
PATH=%PATH%;c:\wamp\bin\php\php5.xy php -v
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΡΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ PATH, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΅Π΅ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, cd Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅> phppath.
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅
php your_script.php
ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ½.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ PHP Composer ΠΈ PEAR, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΈ ΠΎΠ½ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ
@echo off REM ************************************************************** REM * PLACE This file in a folder that is already on your PATH REM * Or just put it in your C:\Windows folder as that is on the REM * Serch path by default REM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - REM * EDIT THE NEXT 3 Parameters to fit your installed WAMPServer REM ************************************************************** set baseWamp=D:\wamp set defaultPHPver=7.1.9 set composerInstalled=%baseWamp%\composer set phpFolder=\bin\php\php if %1.==. ( set phpver=%baseWamp%%phpFolder%%defaultPHPver% ) else ( set phpver=%baseWamp%%phpFolder%%1 ) PATH=%PATH%;%phpver% php -v echo --------------------------------------------------------------- REM IF PEAR IS INSTALLED IN THIS VERSION OF PHP IF exist %phpver%\pear ( set PHP_PEAR_SYSCONF_DIR=D:\wamp\bin\php\php%phpver% set PHP_PEAR_INSTALL_DIR=D:\wamp\bin\php\php%phpver%\pear set PHP_PEAR_DOC_DIR=D:\wamp\bin\php\php%phpver%\docs set PHP_PEAR_BIN_DIR=D:\wamp\bin\php\php%phpver% set PHP_PEAR_DATA_DIR=D:\wamp\bin\php\php%phpver%\data set PHP_PEAR_PHP_BIN=D:\wamp\bin\php\php%phpver%\php.exe set PHP_PEAR_TEST_DIR=D:\wamp\bin\php\php%phpver%\tests echo PEAR INCLUDED IN THIS CONFIG echo --------------------------------------------------------------- ) else ( echo PEAR DOES NOT EXIST IN THIS VERSION OF php echo --------------------------------------------------------------- ) REM IF A GLOBAL COMPOSER EXISTS ADD THAT TOO REM ************************************************************** REM * IF A GLOBAL COMPOSER EXISTS ADD THAT TOO REM * REM * This assumes that composer is installed in /wamp/composer REM * REM ************************************************************** IF EXIST %composerInstalled% ( ECHO COMPOSER INCLUDED IN THIS CONFIG echo --------------------------------------------------------------- set COMPOSER_HOME=%baseWamp%\composer set COMPOSER_CACHE_DIR=%baseWamp%\composer PATH=%PATH%;%baseWamp%\composer rem echo TO UPDATE COMPOSER do > composer self-update echo --------------------------------------------------------------- ) else ( echo --------------------------------------------------------------- echo COMPOSER IS NOT INSTALLED echo --------------------------------------------------------------- ) set baseWamp= set defaultPHPver= set composerInstalled= set phpFolder=
ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ PHP
> phppath
ΠΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ PHP, ΠΊΠ°ΠΊ ΡΡΠΎ
> phppath 5.6.30
Π― ΠΏΠΎΠΌΠ½Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄ Ρ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΎΠΊΠ½Π°Ρ Π½Π΅Ρ readline, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ php Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ readline, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ:
C:\>php -a Interactive mode enabled <?php echo "Hello, world!"; ?> ^Z Hello, world!
ΠΠΎΡΠ»Π΅ Π²Ρ
ΠΎΠ΄Π° Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠΊΡΡΡΠΈΡ ( <?php
) ΠΈ Π·Π°ΠΊΡΡΡΠΈΡ ( ?>
) Php-ΡΠ΅Π³Π° ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Z ( ^Z
), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°.
Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ Ρ Π½Π°ΡΠ΅Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΉΡΠ° php: http://www.php.net/manual/en/features.commandline.interactive.php#105729
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ°ΠΉΠ»
- ΠΡΠΊΡΡΡΡ Π±Π»ΠΎΠΊΠ½ΠΎΡ
- Π’ΠΈΠΏ
php -S localhost:8000
- ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅
.bat
,server.bat
- ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π°
server.bat
ΡΠ°ΠΉΠ», Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ Π³ΠΎΡΠΎΠ² Π½Π°http://localhost:8000
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ
Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, php Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ php.exe "C:\wamp\bin\php\php5.4.3"
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅, Π·Π²ΡΡΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ PHP ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ PHP-ΠΌΠΎΠ΄ΡΠ»Ρ readline, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π― ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Ρ ΡΡΠΎ Π½Π° ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ PHP .
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ
php -m
Π ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Β«readlineΒ».
ΠΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. PHP ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ; ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π― ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ PHP-ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ:
php file.php
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ phpsh, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ (Π»ΡΡΡΡΡ) ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π΄Π»Ρ PHP. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΡΡΡΠ΄Π½ΠΎΡΡΡΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎΠ΄ Windows (Ρ ΡΠ°ΠΌ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»).
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ : ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π·Π΄Π΅ΡΡ , readline
Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Windows:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Windows.
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π²Π°ΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ:
- ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ PHP-ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ
- ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΡΡΠ°Π²ΠΈΡΡ phpsh ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ Windows
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΡΡΡΡΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -r:
php -r "echo 'hi';"
-r ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π³ΠΎΠ² ΡΠΊΡΠΈΠΏΡΠΎΠ² <?..?>
ΠΠΠΠΠΠΠΠΠ. ΠΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Π»ΡΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ stackoverflow, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²Π²ΠΎΠ΄Π° ctrl + z, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π° scree. ΠΡΠ°ΠΊ, Π²ΠΌΠ΅ΡΡΠΎ php -a
Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ call "php.exe" -f NAMED_SCRIPT.php
OLD Readline Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π² Windows, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ php-ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° php, Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎ Π΅ΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ.
2 ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π΄Π΅ΡΡ. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CTRL Z, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ / ββΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ EOF. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΠΈ Π±ΡΡΡΡΠΎΠ΅ Π·Π°ΠΊΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²Ρ Π²Π΅ΡΠ½Π΅ΡΠ΅ΡΡ Π² cmd, Π° Π½Π΅ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ.
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ .bat ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ PHP PATH Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Windows ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ php.exe Π½Π° Β«ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ exeΒ»:
:: :: PHP Shell launch wrapper :: @ECHO off call "php.exe" -a echo. echo. call "PHP Shell.bat"
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ β ΡΠ΅ΠΆΠΈΠΌ php.exe. ΠΠΎΠ³Π΄Π° ΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ php, ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΡΠΈΠΏΡ, Π΄Π°ΠΆΠ΅ ΠΏΠ°ΡΠ·Π° Π½Π΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Β«Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΒ» Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°. ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ CTRL Z, ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ SIGSTEP (ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³), Π° Π½Π΅ SIGSTOP (ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΠΉΡΠ΅, CTRL + C), Π·Π°ΡΠ΅ΠΌ ΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΠ°ΠΌΠΎΠΌΡ .bat. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ PHP -a, Π½Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡ ΠΎΠ΄Π°. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CTRL + C ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΡΠ΅ΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ. (ΠΠ΅Ρ alt + f4)
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ Β«Bat to ExeΒ» Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ php-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ php.exe, ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ php-ΡΠ°ΠΉΠ» Ρ php-ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π² cmd Π·Π°ΠΏΠΈΡΠ°ΡΡ "[PATH to php.ext]\php.exe [path_to_file]\file.php"
ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² Β«ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅Β», Π³Π΄Π΅ php ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π²Ρ Π½Π°Π±ΠΈΡΠ°Π΅ΡΠ΅. Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Β«ctrl + zΒ» ΠΈ Enter. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ π
ps Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ cmd ΠΊΠ°ΠΊ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ!
Π Windows ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» php.exe Π² windows / system32 ΠΈΠ»ΠΈ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ php ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter, ΡΠ»Π΅Π΄ΡΡ Π·Π° Π½ΠΈΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠΎΠ³Π΄Π° Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PHP Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ , ΠΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉ php.exe Π³Π΄Π΅-ΡΠΎ Π΅ΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΏΠΎΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΡΡ ΠΊ Π½Π΅ΠΌΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ! ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΠ°ΡΡΡ ΡΡΠ΄Π° ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΡΠΈ β¦.
ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ -> Π‘ΠΈΡΡΠ΅ΠΌΠ° -> ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ -> Environment Vaiables -> path -> edit, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ php.exe ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅, ΡΡΠΎ ΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π°Π±Π·Π°ΡΠ΅, Π΅ΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π² ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΎΡΠ΄Π΅Π»Π°, ΡΠΎ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ php ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ!
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ Wamp:
ΠΡΠΎ Π»ΠΈΡΠΈΠ»ΠΎ ΠΌΠ΅Π½Ρ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, $ PATH ΠΈ Ρ. Π. ΠΠ°ΠΆΠ΅ ΠΈΡΠΊΠ°Π» ΡΠ΅Π΅ΡΡΡ Windows, ΠΈΡΠ° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ:
GUI (wampmanager) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π²Π΅ΡΡΠΈΡ 7, ΠΈ Π΄Π°, Π΅ΡΠ»ΠΈ Ρ phpinfo () Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΎΠ½Π° ΡΠΊΠ°ΠΆΠ΅Ρ ΠΌΠ½Π΅, ΡΡΠΎ Π΅Π΅ Π²Π΅ΡΡΠΈΡ 7.xx Π²ΡΠ΅ ΠΆΠ΅ php -v Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ 5.xx
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρ wampmanager Π½Π° Π·Π½Π°ΡΠΎΠΊ-> tools-> ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΡΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²Π΅ΡΠ½Π΅Ρ 7.xx
ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ php, Π½ΠΎ Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² C: \ wamp64 \ wampmanager.conf, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ CLI (ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ phpCliVersion) , Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΠ» ΡΠ΅ΡΠ²Π΅Ρ β¦ Π΄ΡΠΌΠ°Π», ΡΡΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΡΡΠΎ, Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π±ΡΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π»ΠΈΠ², ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π΅Π³.
ΠΠ°Π΄Π΅ΠΆΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΊΠΎΠΌΡ-ΡΠΎ
ΠΡΠ΅ ΠΎΡΠ²Π΅ΡΡ Ρ
ΠΎΡΠΎΡΠΈ, Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΡΡΠ΅. ΠΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP-ΡΠΊΡΠΈΠΏΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Windows. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» PHP Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Windows, ΡΡΠΎ Π±ΡΡΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP-ΡΠΊΡΠΈΠΏΡ. [path to PHP excutable]/php.exe [path to php file]/somefile.php
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ c:\xampp\htdocs>C:/xampp/php/php.exe info.php
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ PHP-ΠΊΠΎΠ΄ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΡΡΠΎ β¦ [path to PHP executable]/php.exe -r "echo 'hi';"
Π Π°Π±ΠΎΡΠ° ΡΒ PHP-ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ | REG.RU
ΠΠΎΒ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ php ΡΠΊΡΠΈΠΏΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎΠ΄ Β«ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉΒ» ΡΠ±ΠΎΡΠΊΠΎΠΉ php (5.3), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
-bash-4.1$ php www/mysite.ru/info.php
phpinfo()
PHP Version => 5.3.3
...
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° php -v
ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Β«ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉΒ» ΡΠ±ΠΎΡΠΊΠ΅ php, Π°Β Π½Π΅ ΡΠΎΠΉ, ΡΡΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π° Π²Β ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ
ΠΎΡΡΠΈΠ½Π³ΠΎΠΌ:
-bash-4.1$ php -v
PHP 5.3.3 (cli) (built: Jul 9 2015 17:39:00)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd., and
with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies
Π‘Π±ΠΎΡΠΊΠΈ php, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Β ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΎΡΡΠΈΠ½Π³ΠΎΠΌ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π²Β /opt/php:
-bash-4.1$ ls /opt/php
4.4.9 5.2 5.3-bx-optimized 5.4-bx-optimized 5.5 5.6 7.0 7.1
5.1 5.3 5.4 5.4-bx-optimized2 5.5-bx-optimized 5.6-bx-optimized 7.0-bx-optimized
ΠΠ°ΠΊΒ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ΄Β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ PHP
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΒ ΡΠ΅ΡΠ΅Π· php, ΠΈΒ ΡΠ΅ΡΠ΅Π· php-cgi. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- /opt/php/5.4-with-xcache/bin/php-cgi
- /opt/php/5.4-with-xcache/bin/php
ΠΒ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π΄Π»ΡΒ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ ΡΒ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°.
ΠΠ»ΡΒ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΠ΄Β Π²Π΅ΡΡΠΈΠ΅ΠΉ Β«php 5.5Β» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
/opt/php/5.5/bin/php www/mysite.ru/info.php
Π³Π΄Π΅:
- /opt/php/5.5/bin/phpΒ β ΠΏΡΡΡ ΠΊΒ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ;
- www/mysite.ru/info.phpΒ β ΠΏΡΡΡ ΠΊΒ ΡΠΊΡΠΈΠΏΡΡ.
Π½Π°Β ΠΏΡΠΈΠΌΠ΅ΡΠ΅ phpinfo
-bash-4.1$ /opt/php/5.5/bin/php www/mysite.ru/info.php
X-Powered-By: PHP/5.5.23
Content-type: text/html
...
Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ ΠΏΠΎΠ΄Β Β«php 5.5Β».
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ΄Β Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΎΠΉ php:
/opt/php/4.4.9/bin/php
/opt/php/5.1/bin/php
/opt/php/5.2/bin/php
/opt/php/5.3/bin/php
/opt/php/5.3-bx-optimized/bin/php
/opt/php/5.3-with-xcache/bin/php
/opt/php/5.4/bin/php
/opt/php/5.4-bx-optimized/bin/php
/opt/php/5.4-bx-optimized2/bin/php
/opt/php/5.4-with-xcache/bin/php
/opt/php/5.5/bin/php
/opt/php/5.5-bx-optimized/bin/php
/opt/php/5.6/bin/php
/opt/php/5.6-bx-optimized/bin/php
/opt/php/7.0/bin/php
/opt/php/7.0-bx-optimized/bin/php
/opt/php/7.1/bin/php
Π£Π·Π½Π°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΒ ΡΠ±ΠΎΡΠΊΠ΅ php ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΒ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
/opt/php/.../bin/php -i
# Π£Π·Π½Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
/opt/php/.../bin/php -m
ΠΠΎΠΌΠΎΠ³Π»Π° Π»ΠΈ Π²Π°ΠΌ ΡΡΠ°ΡΡΡ?
40
ΡΠ°Π· ΡΠΆΠ΅
ΠΏΠΎΠΌΠΎΠ³Π»Π°
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ PHP ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π° Windows-ΠΌΠ°ΡΠΈΠ½Π΅? PHP Lang
ΠΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ PHP .
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½ΠΎΡΡΠ±ΡΠΊ Lenovo Ideapad, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Windows 10 Home Single Language 64-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°
Π― ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» XAMPP Control Panel v3.2.2 Π² ΠΏΠ°ΠΏΠΊΡ Β«C: \ xamppΒ» Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ PHP Π² Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π½Π° ΠΌΠΎΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.
Π€Π°ΠΉΠ» Β«php.exeΒ» ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΌΠ΅ΡΡΠ΅ Β«C: \ xampp \ phpΒ» .
ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² PHP Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Β«C: \ xampp \ htdocsΒ» .
Π― ΠΌΠΎΠ³Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ PHP ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ C: \ xampp \ htdocs \ html_playground , Π·Π°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ XAMPP (Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΡΠ² ΡΡΠ»ΡΠΊ XAMPP Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅) ΠΈ Π²Π²Π΅Π΄Ρ URL-Π°Π΄ΡΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β« http: //localhost/html_playground/sample.php Β» Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΠΌΠΎΠ³Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ PHP ΡΠΎΡΠ½ΠΎ, Π½ΠΎ Ρ Ρ ΠΎΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡ ΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Windows
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π½ΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΡΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ½ ΠΎΡΠΊΡΡΠ» ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ» Π² Sublime Text (ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°)
Π€Π°ΠΉΠ» sample.php ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄ PHP :
ΠΠ»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΏΡΠ°Π²ΠΊΠΈ Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡ ΡΠΊΡΠ°Π½Π½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΎΠΊΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΌΠ½Π΅, ΠΎΡΠ²Π΅ΡΠ°Ρ Π½Π° ΠΌΠΎΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Ρ ΠΌΠ½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ°ΠΆΠ΅ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΠ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ php -v, Π½ΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π°:
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ CLI PHP, Ρ Π±Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ php vanilla, Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ Π½Π° windows.php.net . ΠΡΡΡΡ ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° C:\php
. ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΡΠΎ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Composer (ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΡΠ°Π½Ρ), ΠΎΠ½ Π½Π°ΠΉΠ΄Π΅Ρ Π΅Π³ΠΎ ΡΠ°ΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
C:\php\php.exe C:\path\to\php\script.php
Π Π²Π°ΡΠΈΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌ
-
Why I'm not able to see the output at command prompt or a web browser?
ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ°ΠΏΡΠΎΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π² Π±ΡΠ°ΡΠ·Π΅Ρ -
Is it necessary to start the XAMPP server like I normally do to run the program from command prompt too?
ΠΠ»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² CLI Π½Π΅Ρ. PHP ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΡΠΎΠ³Π΄Π° XAMPP Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½. -
Is there really a need to set environment variables? If yes why? If no why?
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π½Π΅Ρ. CLI Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΎ, ΡΡΠΎphp.ini
XAMPP ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Apache, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ. -
But I'm not understanding the reason why people do insist for running the PHP programs from Command Line
. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π° ΡΠ°Π±ΠΎΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ cron.
ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΡΡΠΌ Π² Windows 10
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΡΡΠΊΒ» Windows , Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β« Π‘ΠΈΡΡΠ΅ΠΌΠ°Β»
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β« Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅Β»
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β« ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡΒ»
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β« ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΒ»
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ PATH Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β« Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅Β» ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β« ΠΠ·ΠΌΠ΅Π½ΠΈΡΡΒ» .
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β« Π‘ΠΎΠ·Π΄Π°ΡΡΒ» , Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«ΠΡΡΡΒ» Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ OK ΠΈ APPLY Π½Π° Π²ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ°Π½Π΅Π»ΡΡ , Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ .
Π¨Π°Π³ 1. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π·Π½Π°ΡΠΎΠΊ Β«ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΒ» Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β».
Π¨Π°Π³ 2. Π ΠΎΠΊΠ½Π΅ Β«Π‘ΠΈΡΡΠ΅ΠΌΠ°Β» Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΒ» Π½Π° Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.
Π¨Π°Π³ 3: Π ΠΎΠΊΠ½Π΅ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΡΒ» Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΒ» Π² Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π²Π²Π΅ΡΡ Ρ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΒ», ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π°.
Π¨Π°Π³ 4: Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (Π²ΡΠΎΡΠ°Ρ ΡΠ΅ΡΠΊΠ°) ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Path ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Edit. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Path ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«Π‘ΠΎΠ·Π΄Π°ΡΡΒ».
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π΄ΠΎ ΠΏΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ.
Π¨Π°Π³ 5: ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΡΡ php, Π³Π΄Π΅ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ XAMPP. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎΡ ΠΏΡΡΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.
Π¨Π°Π³ 6: ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΠ ΠΈ Π·Π°ΠΊΡΠΎΠΉΡΠ΅ Π²ΡΠ΅ ΠΎΠΊΠ½Π°.
Π¨Π°Π³ 7. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ cmd.
Π¨Π°Π³ 8: cd to your_install_path / xampp / htdocs
Π¨Π°Π³ 9: Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«php -i | ΠΠΎΠ»ΡΡΠ΅’
Π¨Π°Π³ 10: ΠΠ΅Ρ ΡΠ°Π³Π° 10.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎ ΠΈ php.exe, ΠΈ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ.
C:\xampp\php\php.exe C:\xamp\htdocs\html_playground\test.php
ΠΡΠ»ΠΈ test.php ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ; <?php echo "Hello World"; ?>
<?php echo "Hello World"; ?>
ΡΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Β«Hello WorldΒ» ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ CMD CLI.
ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π°Ρ Π²ΡΠ·ΠΎΠ² >php
Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ PATH, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ PHP, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ‘C: \ xampp \ php \;’ Π² ΡΡΡΠΎΠΊΡ PATH. ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π²Π°ΠΌ Π²ΡΠ·Π²Π°ΡΡ php C:\xamp\htdocs\html_playground\test.php
Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΡΡ
ΠΎΠ΄Π°, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ XAMPP
ΡΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP
ΠΈΠ· ΠΎΠΊΠ½Π° SHELL ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ XAMPP v3.2.2
Π ΠΌΠΎΠ΅ΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΠΉΠ» index.php
Π²Π½ΡΡΡΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° c:\xampp\htdocs\tester
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ index.php
:
echo "This is output from command line "."\n"; if(!empty($argv)) { foreach($argv as $key => $arg) { if($key>0) { echo "command line argument ".$key ." ". $arg."\n"; } } }
ΠΡΠΎΡΡΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
php C:\xampp\htdocs\tester\index.php var1=1 var2="lorem ipsum..."
ΠΡΠ²ΠΎΠ΄
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ php
ΠΊΠΎΠ΄Π° Π² Π²Π°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π°Π³Π° -S
:
php -S <host/ip>:<port>
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» sample.php
ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ:
<?php echo "Hello World from built-in PHP server";
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ php -S localhost:8080
ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ( Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ http: // ).
ΠΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΠΎΡΡ 8080, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΡΠ½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http: // localhost: 8080 . ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Β«Hello WorldΒ».
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π³Π΄Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ sample.php
.
ΠΡΠΎΡΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π΄Π»Ρ Π²Π°Ρ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅Ρ π
ΠΡΠΊΡΡΡΡ C: \ xampp \ php (ΠΈΠ»ΠΈ Π²Π°Ρ ΠΏΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ Π²Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ)
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ PHP.exe
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΎΠΌΡ ΡΠΈΠΏΡ
php -a
ΠΈ Π·Π°ΡΠ΅ΠΌ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
<?php echo "Hello, world!"; ?>
ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ CTRL + Z, Π° Π·Π°ΡΠ΅ΠΌ Enter
ΠΡΠΈΠ²Π΅Ρ ΠΌΠΈΡ! // ΠΡΠ²ΠΎΠ΄
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ PHP
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ PHP ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°
.
ΠΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΠ° PHP ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
ΠΠ°Π³ΡΡΠ·ΠΊΠ°β¦
.
php — ΠΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Ρ.Π΅. Π΄Π»Ρ Progress
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.