ssh Π·Π°ΠΏΡΡΡΠΈΡΡ php ΡΠΊΡΠΈΠΏΡ
ΠΠ°ΠΊ Π² Π±ΠΈΡΡΠΈΠΊΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ php ΡΠΊΡΠΈΠΏΡ ΡΠ΅ΡΠ΅Π· SSH (PuTTY)?
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π² SSH ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ (PuTTY)
Π²ΡΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ
Π¦ΠΈΡΠ°ΡΠ° |
---|
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΎΠ»ΠΊΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π»: $_SERVER[«DOCUMENT_ROOT»] = realpath(dirname(__FILE__).»/..»); require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/modules/main/include/prolog_before.php»); |
ΠΠΎΡ Ρ ΡΡΠΈΠΌ Ρ ΠΌΠ΅Π½Ρ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ.
Π‘ΠΊΡΠΈΠΏΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊ, Π½ΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΠ΅Π· SSH ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
ΠΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π² Google Chrome ΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ.
ΠΠΎ ΠΌΠ½Π΅ ΡΡΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΠ΅ΡΠΈΠ» Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π½ΠΎ ΡΠ°ΠΌ ΠΎΠ½ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ(ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ»ΠΈ Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ), Π²ΠΎΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ Π½Π΅ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΌΠΎΠΆΠ½ΠΎ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ Ρ Π²Π°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ php ΠΈ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
#!/usr/bin/php
ΠΊΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ ΡΠ΅ΡΠ΅Π· php Π·Π°ΠΏΡΡΠΊΠ°ΡΡ, Π° ΡΠ΅ΡΠ΅Π· wget, Π½ΠΎ Π»ΡΡΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠ΅
Π¦ΠΈΡΠ°ΡΠ° |
---|
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΎΠ»ΠΊΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π»: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ(ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ»ΠΈ Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ), Π²ΠΎΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ Π½Π΅ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. ΠΌΠΎΠΆΠ½ΠΎ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ Ρ Π²Π°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ php ΠΈ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ #!/usr/bin/php |
ΠΊΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ ΡΠ΅ΡΠ΅Π· php Π·Π°ΠΏΡΡΠΊΠ°ΡΡ, Π° ΡΠ΅ΡΠ΅Π· wget, Π½ΠΎ Π»ΡΡΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠ΅
Π³Π΄Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ?
Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π» ΡΡΠΎ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ°ΡΡ.
Π ΡΠΊΡΠΈΠΏΡΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅Ρ. Π Google Chrome ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΡΠΎΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ssh
Π ΡΡΠ°ΡΡΠ΅ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ssh Π² ΡΠ°Π±ΠΎΡΠ΅ web-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΡΡΠ°ΡΡΠ΅, ΠΌΠ½Π΅ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ . ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ ΠΌΠ½Π΅ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ β ΡΡΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎ: Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΊΡΡΡ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ°ΡΡΡΡ ΡΠΎΡΡΠΎΡΡ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±ΡΠΊΠ² ΠΈ Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΉ Π½Π΅ Π²ΡΠ·ΡΠ²Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ Π½Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΡΡΠ²ΡΡΠ²Π° ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈΠ»ΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Ρ ssh, ΡΠΎ ΡΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π² Π½Π΅ΠΉ Ρ ΡΠΎΠ±ΡΠ°Π» ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Β«ΡΠΈΡΠΊΠΈΒ» Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π· ssh
ΠΠ»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΠ‘, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ , Π° Π²ΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.
Π Π°Π±ΠΎΡΠ° Ρ Apache ΡΠ΅ΡΠ΅Π· ssh
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Apache:
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°:
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°:
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ mod_rewrite:
Π Π°Π±ΠΎΡΠ° Ρ PHP ΡΠ΅ΡΠ΅Π· ssh
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ php Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ php ΡΠΊΡΠΈΠΏΡ:
Π Π°Π±ΠΎΡΠ° Ρ MySql ΡΠ΅ΡΠ΅Π· ssh
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° MySql Π½Π° ΡΠ΅ΡΠ²Π΅Ρ:
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ root:
Π§Π΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ sql-Π·Π°ΠΏΡΠΎΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Mysql:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π·Π°Π΄Π° Cron ΡΠ΅ΡΠ΅Π· ssh
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Cron Π½Π° ΡΠ΅ΡΠ²Π΅Ρ:
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ, Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π΄Π°Ρ:
ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ php-ΡΠΊΡΠΈΠΏΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠ΅ 30 ΠΌΠΈΠ½ΡΡ:
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ:
Π Π°Π±ΠΎΡΠ° Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ssh
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ , Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ:
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ:
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
ΠΠΎΠΈΡΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎ ΠΊΡΡΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ:
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ SFTP-ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ssh
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ SFTP:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ SFTP:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ SFTP Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ root`Π°:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Β«Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉΒ» ΠΏΠ°ΠΏΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
Π Π°Π±ΠΎΡΠ° Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ssh
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ² Π² ΡΠ΅ΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ:
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ² Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠ°Π² Π½Π° ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΡΠ΅ΡΠ΅Π· ssh
ΠΠ°Π΄Π°ΡΡ ΠΏΡΠ°Π²Π° Π½Π° ΡΠ°ΠΉΠ»:
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΏΡΠΎ ΠΏΡΠ°Π²Π° Π½Π° ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ: Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Memcached ΡΠ΅ΡΠ΅Π· ssh
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³:
ΠΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³Π°, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ Memcached:
ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ php:
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ vim
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ insert ΠΈΠ»ΠΈ i.
ΠΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Π½Π°ΠΆΠ°ΡΡ ESC.
Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ :wq
ΠΡΡ
ΠΎΠ΄Π° Π±Π΅Π· ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ β Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ :q!
ΠΠ΅ΡΡΠΎ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°
Π£Π·Π½Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅: ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ/Π·Π°Π½ΡΡΠΎ/ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ:
Π Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ°Ρ
:
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ
ΠΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΠΉΡΠΈ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ ΠΏΠ°ΠΏΠΊΡ:
Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° www-data Π΄Π»Ρ ΠΏΠ°ΠΏΠΊΠΈ public_html ΠΈ Π²ΡΠ΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΎΠΊ:
Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° www-data Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ public_html:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°ΠΌΡ ΠΠ PostgreSQL
ΠΡ ΠΎΠ΄ Π² psql ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ postgres(ΡΡΠΎ Π°Π½Π°Π»ΠΎΠ³ root Π΄Π»Ρ PostgreSQL):
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ sql Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠ°ΠΌΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ php-ΡΠΊΡΠΈΠΏΡ ΡΠ΅ΡΠ΅Π· SSH?
Π£ ΠΌΠ΅Π½Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ php, ΠΈ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π±ΡΠ°ΡΠ·Π΅Ρ, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΡΠΈΠΏΡ. Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠΈΠ΄Π΅ΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 8 ΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΌΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π», ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΌΠΎΠ³Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· ssh ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π΄Π΅Π½Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ». ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π²ΠΎΠ΄ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠ° Π² ssh Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° php-ΡΠΊΡΠΈΠΏΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ssh?
ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΡΠΎΡ, ΡΠΎ ΡΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΈ Π΄Π»Ρ SSH, ΠΈ Ρ ΠΎΡΠΎΡΠΎ, ΡΡΠΎ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ SSH Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ (ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π·Π°ΠΊΡΠΎΠ΅ΡΠ΅ ΠΎΠΊΠ½ΠΎ ssh? )
Π― Π±Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» SSHing Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β« ΡΠΊΡΠ°Π½ Β», ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π²Π½ΡΡΡΠΈ Π½Π΅Π΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ ssh Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΊΡΠ°Π½Π°, Π½Π°ΠΆΠΌΠΈΡΠ΅ enter, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠΊΡΠ°Π½ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ PHP-ΡΠΊΡΠΈΠΏΡ
ΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡ Π·Π°ΠΏΡΡΠΊ PHP,
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅, ΠΈ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ
Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° ΡΠ΅Π°Π½Ρ ΡΠΊΡΠ°Π½Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡ Π²Π°Ρ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Π²Ρ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π»ΠΈ ΠΎΠΊΠ½ΠΎ.
ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π»ΠΈΠ½Π½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° IRC-ΡΠ΅ΡΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ: D
Π ΠΎΠ±ΡΠ΅ΠΌ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ ΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π· ssh ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ssh ΠΏΠ°Π΄Π°Π΅Ρ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ screen Π²ΠΌΠ΅ΡΡΠΎ nohup Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅.
ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΡΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» php, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ.
ΠΡΡΠ°ΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠ°Π½, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ, ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·Π²Π°ΡΡ ignore_user_abort() ΠΈ Π·Π°ΠΊΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ.
Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΠ°ΠΉΠ» php ΠΈ Π·Π°ΠΊΡΠΎΠ΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π±Π΅Π· Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ssh2_exec
ssh2_exec β ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π΅Ρ ΠΊΠ°Π½Π°Π»Π°.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
env ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ°Ρ ΠΈΠΌΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π¨ΠΈΡΠΈΠ½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
ΠΡΡΠΎΡΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠΎΠΊ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ false Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
User Contributed Notes 17 notes
There doesn’t appear to be a way to get data from BOTH stderr and stdout streams simultaneously, or at least I’ve yet to find one.
The following code *should* get the error message written to stderr, but if the call to stream_get_contents() for stdout is run first, the subsequent call for stderr won’t return anything.
If the order of the statements is reversed, the call for stderr will return any errors and call for stdout will return nothing
?>
My initial suspicion is that either a) I’ve done something wrong or b) the blocking nature of both streams means that by the time first stream has received data and returned, the buffer for the second stream has already emptied.
I’ve done preliminary tests with blocking disabled, but haven’t had any luck there either.
The «pty» parameter is not documented.
You should pass a pty emulation name («vt102», «ansi», etc. ) if you want to emulate a pty, or NULL if you don’t.
Passing false will convert false to a string, and will allocate a «» terminal.
The following function can be used to read both stdout and stderr even if both streams contain gigabytes of data. It solves most problems mentioned in other comments, like blocking, like further using the existing connection etc.
I believe most of the problem that people are having here is that there is a misconception about what blocking *really* means.
So there are 2 problems:
2. If the program takes awhile, you have the same problem. You need to read until you’re done. So you need a sentinel value like the above.
3. Sleep() is just a bad idea here. Commands rarely take the same amount of time to execute a command twice. It may be OK if you’re doing *one* thing and can just wait 5 seconds. But that’s not cool if it’s something you’re doing in a loop.
Here’s what I use for doing ssh2_exec for long running scripts, expanding on other examples. It waits for a timeout and checks if both streams are finished. Does not use blocking and it gets data from both STDOUT and STDERR.
$t0 = time ();
$err_buf = null ;
$out_buf = null ;
// Wait here so we don’t hammer in this loop
sleep ( 1 );
> else <
echo «Failed to Shell\n» ;
>
?>
Adjust your timeout as necessary.
HackWare.ru
ΠΡΠΈΡΠ½ΡΠΉ Ρ Π°ΠΊΠΈΠ½Π³ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP ΡΠΊΡΠΈΠΏΡ Π±Π΅Π· Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ PHP ΡΡΠ°Π» Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° PHP. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ PHP ΠΎΡΠ΅Π½Ρ ΡΡΠΎΠΉΠΊΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π²Π΅Π± ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΡΡΠ΅Π΄ΠΎΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ PHP ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ°. Π Π΅ΡΡ ΠΈΠ΄ΡΡ Π½Π΅ ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΊΠ°ΠΊ Π²Π΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ WordPress, phpMyAdmin, Π³ΠΎΡΡΠ΅Π²ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠΎΡΡΠΌΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. Π’Π°ΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π² Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΡΡΠ΄ Π»ΠΈ ΡΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π Π΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° PHP, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅, Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π²Π΅Π± ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΠΎ ΡΡΡΠΈ, PHP ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ Ρ Ρ ΠΎΡΠΎΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Π½Π° Π½ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ Π»ΡΠ±ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΈΠ±ΠΎ ΡΠ΄ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Π±ΡΠΊ-ΡΠ½Π΄) ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΡΡ Π·Π°ΠΏΡΡΠΊ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΠΈΠ·ΡΡΠ°ΡΡΠΈΡ ΡΠ·ΡΠΊ. Π₯ΠΎΡΡ ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΡΠΈΠΌ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠΈΡΡΡΡ. ΠΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΊΡΠΈΠΏΡ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ HTML. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ·ΡΡΠ°Π΅ΡΠ΅ PHP Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠΎ Π²Π°ΠΌ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ Π΄ΠΎΡΡΠΈΠ²Π°ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ° (Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°), Π° ΡΠ°ΠΊΠΆΠ΅ HTML Π²ΠΎΠΎΠ±ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΡΠΌΠ»ΡΡΡ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP ΡΠΊΡΠΈΠΏΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Linux
Π£ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ PHP, ΠΊ ΡΡΠ°ΡΡΡΡ, Π² Linux ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ PHP ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅Π³ΠΎ Π΅ΡΡ Π½Π΅Ρ, ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄.
Π Debian, Kali Linux, Linux Mint, Ubuntu:
Π Arch Linux, BlackArch:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° Π² Linux Mint ΠΎΠΏΠΈΡΠ°Π½Π° Π·Π΄Π΅ΡΡ, Π² Ubuntu Π·Π΄Π΅ΡΡ, Π² Arch Linux/BlackArch Π·Π΄Π΅ΡΡ, Π° Π² Kali Linux ΠΎΠ½ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π·Π΄Π΅ΡΡ.
Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠΏΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°, Π² Linux ΠΈ Windows ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Linux, ΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΠ·Ρ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP ΡΠΊΡΠΈΠΏΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Windows
ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² Windows ΠΈΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ Π² Linux, ΡΠΎ Π΄Π»Ρ Π²Π°Ρ Π²ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ β Π²Π΅Π·Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. ΠΠΎ Π½Π°ΡΠ½ΡΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ PHP ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Apache + PHP + MySQL Π½Π° Windows, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° PHP Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ² Ρ PHP ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. Π ΡΠΎΠΌ, Π³Π΄Π΅ ΡΠΊΠ°ΡΠ°ΡΡ PHP Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΡ ΡΡΠ°ΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΠΎ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ PHP ΡΠΊΡΠΈΠΏΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Windows, ΡΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΡΡ Π΄ΠΎ PHP Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ PATH Π² Windows. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»Π° php.exe.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° PHP ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΠΏΡΡΡ Π΄ΠΎ php.exe Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Windows, ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ Win+x ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Windows PowerShell.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ PHP:
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» php.exe, Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π°
Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ° PHP ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
Π‘ΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² .php Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ.
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΠΈΠΌΠ΅Π»ΠΎΡΡ Π²Π²ΠΈΠ΄Ρ, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ. Π Π½Π°ΡΠ°Π»Π΅ ΠΌΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠΈΠΉ, ΠΈΠ·ΡΡΠΈΠΌ, ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, ΠΌΠ°ΡΡΠ°ΡΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½Π΅ΡΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΎΡΡΡ.
ΠΠΏΡΠΈΡ -f ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½Ρ:
Π― ΡΠΎΠ·Π΄Π°Π» ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎ ΠΏΡΡΠΈ C:\Users\Alex\Documents\PHP\test.php ΡΠΎΠ³Π΄Π° Ρ ΠΌΠΎΠ³Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Π² PHP ΡΠ°ΠΊ:
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ PHP ΡΠΊΡΠΈΠΏΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΊΡΠΈΠΏΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅ ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠ°Π·Π΄Π΅Π»ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ. ΠΡΠ»ΠΈ ΡΠ°ΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΎΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ° PHP ΡΠΊΡΠΈΠΏΡΠ° Ρ ΡΡΠ΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ:
ΠΠ°ΠΊ Π² PHP ΡΠΊΡΠΈΠΏΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ
ΠΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ $argv. ΠΡΠΈΡΡΠΌ, ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΠΎΠΌΠ΅ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π’ΠΎ Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΡΠ½ Π² $argv[1], Π²ΡΠΎΡΠΎΠΉ Π² $argv[2] ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘Π°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ $argv[0] ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° test.php:
ΠΠ°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ Π² ΡΠΊΡΠΈΠΏΡ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
ΠΠ°ΠΊ Π² PHP ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π² Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌΠΈ, Π½ΠΎ ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΡΡΠ°ΡΠΈ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° PHP ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ Π΄Π»Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ HTTP ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² GET ΠΈ POST. ΠΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ°, ΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° PHP ΡΠΊΡΠΈΠΏΡΠ° Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ β Π½ΡΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Ρ Π΅ΡΡ ΡΠ°Π· Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²Π²ΠΎΠ΄ Π½ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠ°ΡΡ Enter Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΡ. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ β ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° β Π½Π΅Ρ. Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ² Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ (Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΠ·ΠΈΡΡΡΡ Ρ HTML ΡΠΎΡΠΌΠΎΠΉ), Π½ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ.
Π PHP Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ readline.
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π½Π° Windows ΠΈ Π½Π° Linux. ΠΡΠΈΡΡΠΌ Π½Π° Linux ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Bash, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΡΡΠΎΡΠΈΡ Π²Π²ΠΎΠ΄Π°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ΅Π»ΠΎΠΊ. ΠΠ° Windows ΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ PHP 7.1.
ΠΡΠ»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ Π½Π°Π΄ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ GNU Readline ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π·Π΄Π΅ΡΡ. Π― ΠΆΠ΅ ΠΊΠΎΡΠ½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ readline, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΡΠΎΠΊΡ. Π‘ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ PHP ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΊΡΠΈΠΏΡΠ° PHP Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
Π‘ ΠΎΠΏΡΠΈΠ΅ΠΉ -l Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΡΠΎ Π΅ΡΡΡ Π½Π΅ Π½Π°ΡΡΡΠ΅Π½Ρ Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΊΠΎΠ΄Π° PHP, Π½ΠΎ ΡΠ°ΠΌ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½:
ΠΠ»ΠΈ Π΅ΡΠ»ΠΈ Π² ΡΠ°ΠΉΠ»Π΅ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ:
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ PHP Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ PHP Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π²Π²ΠΎΠ΄Ρ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Enter, Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΡΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ .
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅Π»Π»Π°:
ΠΠ°ΠΏΡΡΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ PHP
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ -r:
ΠΠ°ΠΏΡΡΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π² PHP Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°
Π PHP Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ! ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ Π½Π°Π΄ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π·Π°Π΄Π°Ρ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ IP Π°Π΄ΡΠ΅ΡΠ° Ρ Ρ ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ 127.0.0.1, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° β 84, ΠΊΠΎΡΠ½Π΅Π²Π°Ρ ΠΏΠ°ΠΏΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² C:\Users\Alex\Documents\PHP\, ΡΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
Π ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ» test_2.php ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
ΠΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΠ· ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ WordPress, Π½ΠΎ ΡΡΠΎ-ΡΠΎ Π»Π΅Π½Ρβ¦
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ PHP ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΡ —rf.
ΠΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΊβ¦ Π° ΡΠ΅Π³ΠΎ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ β ΡΡΠΎ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΡΠ», Π² ΡΡΡΠΎΠΊΠ΅ Parameters Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠΈΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΡΠΎΠΊΠ° required ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ, Π° ΡΡΡΠΎΠΊΠ° optional β ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ. Π ΡΡΠ½ΠΊΡΠΈΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ ΠΏΠΎ ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, $filename. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, Π½Π΅Ρ.
ΠΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΈΡΠΈΡΠ΅ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΠ΄, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ², ΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ:
ΠΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ PHP
ΠΠ»Ρ ΠΏΠΎΠΊΠ°Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ PHP ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ:
ΠΠΏΡΠΈΡ -i β ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ phpinfo, Π½ΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
PHP Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π² Π½Π° Π·Π°ΠΏΠΈΡΡ
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ ΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: PHP ΡΠΊΡΠΈΠΏΡ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΏΡΠ°Π²Π° Π½Π° Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ (777).
Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±ΡΡΡΠ½ΠΈΠΌΡΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ open_basedir Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ php.ini. ΠΠ°Π½Π½Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΌΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Ρ Π½Π΅ΠΉ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ°Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ PHP ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΡ /srv/http/, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΏΠ°ΠΏΠΊΠΈ /etc/webapps/, /usr/share/webapps/ ΠΈ /tmp/.
ΠΡΠΈΡΡΠΌ Π΅ΡΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° open_basedir Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π° (ΡΡΡΠΎΠΊΠ° Ρ Π½Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π°), ΡΠΎ PHP ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² Π»ΡΠ±ΡΡ ΠΏΠ°ΠΏΠΊΡ, Π΅ΡΠ»ΠΈ Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π² Π½Π° Π·Π°ΠΏΠΈΡΡ.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ PHP ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅ΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ β Π΅ΡΠ»ΠΈ ΡΡΠ° ΠΏΠ°ΠΏΠΊΠ° Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° Π² open_basedir, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° open_basedir Π½Π°ΡΡΡΠΎΠ΅Π½Π°, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: PHP Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π΄Π°ΠΆΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ ΠΎΡΠΊΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ .
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ PHP ΡΠΊΡΠΈΠΏΡ Π±Π΅Π· ΡΡΡΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠ°ΠΉΠ»Π° php.ini ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ -n, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΡΠ°ΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΉΠ»Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ PHP, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΏΡΡΠΊ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ β ΡΡΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΠΈΡ Π·Π°ΠΏΡΡΠΊΡ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ. Π Π°Π±ΠΎΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄ΠΎΠ±Π½Π° ΠΏΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΡΠ·ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ PHP ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π‘ΠΊΡΠΈΠΏΡ Π½Π° PHP ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡΡ Π½Π° Bash, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π‘Π£ΠΠ (MySQL, SQLite) β Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· Bash ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΆΠ΅Π»ΠΎ, Π»ΠΈΠ±ΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ PHP ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅ XML, JSON β ΡΡΠΎ Π² Bash ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ PHP ΡΠΊΡΠΈΠΏΡΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.