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 Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ssh. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-ssh. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ собраны ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования 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:

ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. php. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-php. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° php. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

На самом Π΄Π΅Π»Π΅, ΠΌΡ‹ запускаСм Ρ„Π°ΠΉΠ» 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:

Запустим Π΅Π³ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π² скрипт Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. php 2. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-php 2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° php 2. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

Как Π² PHP ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² консоли

Благодаря ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ, скрипт ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с прописанными Π² Π½Ρ‘ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ значСниями, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ запускС скрипта.

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π²Π΅Π±-сСрвСра, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° PHP скрипт выполняСт Π·Π°Π΄Π°Ρ‡ΠΈ для Π²Π΅Π±-сайта, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HTTP ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² GET ΠΈ POST. Π­Ρ‚ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ запуском скрипта, ΠΈ ΡƒΠΆΠ΅ послС запуска PHP скрипта Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ нСльзя β€” Π½ΡƒΠΆΠ½ΠΎ ΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΏΡ€ΠΈ нСобходимости Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Ρ‘ Π΅Ρ‰Ρ‘ Ρ€Π°Π· с Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π’ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π²ΠΎΠ΄ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π² консоли это достигаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ строки запроса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Enter для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅Π³ΠΎ скрипту. Π’ контСкстС Π²Π΅Π±-сайта Ρ‚Π°ΠΊΠΎΠΉ возмоТности β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΆΠ΅ Π²ΠΎ врСмя выполнСния скрипта β€” Π½Π΅Ρ‚. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ запуск PHP скриптов с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ‰Π΅ (Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠ·ΠΈΡ‚ΡŒΡΡ с HTML Ρ„ΠΎΡ€ΠΌΠΎΠΉ), Π½ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ.

Π’ PHP для запроса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция readline.

Π­Ρ‚Π° функция ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π½Π° Windows ΠΈ Π½Π° Linux. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π½Π° Linux ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ возмоТности Bash, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сохраняСт ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π²Π²ΠΎΠ΄Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стрСлок. На Windows эта Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ появилась начиная с PHP 7.1.

Если сильно Π½Π°Π΄ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ GNU Readline рассмотрСны здСсь. Π― ΠΆΠ΅ ΠΊΠΎΡΠ½ΡƒΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ readline, которая считываСт Π²Π²Π΅Π΄Ρ‘Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ строку. Π‘ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€” строку, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π² ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ консольного PHP скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. php 3. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-php 3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° php 3. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° синтаксиса скрипта PHP Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС

Π‘ ΠΎΠΏΡ†ΠΈΠ΅ΠΉ -l Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ синтаксис, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Ρ‹ Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΊΠΎΠ΄Π° PHP, Π½ΠΎ сам Ρ„Π°ΠΉΠ» скрипт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½:

Или Ссли Π² Ρ„Π°ΠΉΠ»Π΅ Π΅ΡΡ‚ΡŒ ошибки:

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ PHP Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

Если Π²Π°ΠΌ это Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ PHP Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, вводя ΠΊΠΎΠ΄ построчно. ΠŸΡ€ΠΈ этом ΠΊΠΎΠ΄ выполняСтся послС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Enter, Π½ΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ сСссии. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… строках.

Для запуска ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ шСлла:

ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. php 4. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-php 4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° php 4. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

Запуск ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ PHP

Для выполнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ -r:

Запуск встроСнного Π² PHP Π²Π΅Π±-сСрвСра

Π’ PHP Π΅ΡΡ‚ΡŒ свой собствСнный Π²Π΅Π±-сСрвСр! Если Π²Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π΄ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· сторонних сСрвСров для ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Допустим, Π² качСствС ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ IP адрСса я Ρ…ΠΎΡ‡Ρƒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ 127.0.0.1, Π² качСствС ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° β€” 84, корнСвая ΠΏΠ°ΠΏΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Π΅Π±-сСрвСра Ρƒ мСня располоТСна Π² C:\Users\Alex\Documents\PHP\, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° запуска ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ Ρƒ мСня Ρ„Π°ΠΉΠ» test_2.php со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. php 5. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-php 5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° php 5. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. php 6. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-php 6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° php 6. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

МоТно Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠ· спортивного интСрСса ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ встроСнном Π²Π΅Π±-сСрвСрС Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 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, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. php.ini. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт Ρ„ΠΎΡ‚ΠΎ. ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт-php.ini. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ssh Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ php скрипт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° php.ini. ΠŸΡ€ΠΈ запускС Π² SSH консоли (PuTTY)

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Запуск PHP скриптов Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС β€” это Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΠΈΡ… запуску Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвСр. Π Π°Π±ΠΎΡ‚Π° Π² консоли ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Π° ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ языку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ PHP ΠΈΠ»ΠΈ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π΄Π°ΠΆΠ΅ Ссли Π² дальнСйшСм эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ скрипты Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π²Π΅Π±-сСрвСрС.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π° PHP ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ скрипту Π½Π° Bash, особСнно Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘Π£Π‘Π” (MySQL, SQLite) β€” с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Bash Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ тяТСло, Π»ΠΈΠ±ΠΎ для использования возмоТностСй PHP ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с тСкстом Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ XML, JSON β€” Ρ‡Ρ‚ΠΎ Π² Bash Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π’ любом случаС, Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚Π°ΠΊΠΎΠΉ возмоТности, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, особСнно Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ срСди эксплойтов, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой PHP скрипты, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для запуска Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *