ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° PHP Composer Π½Π° Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³
PHP Composer Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π·Π° PHP, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Π²ΠΈ Ρ PHP. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Composer Π²ΡΠ² Π²ΠΈΡΡΡΠ°Π»Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ΅ Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ ΡΡΡ ΡΡΡΠΏΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° PHP Composer Π½Π° Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΡΠ²ΡΡ.
1. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅, ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅:
- ΠΠΌΠ°ΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ Π°ΠΊΠ°ΡΠ½Ρ ΡΡΡ SSH Π΄ΠΎΡΡΡΠΏ.
- PHP Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ (Π·Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½Π΅ PHP 7.2 ΠΈΠ»ΠΈ ΠΏΠΎ-Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ).
- ΠΠΌΠ°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΠΎΠ·Π½Π°Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ SSH.
2. Π‘Π²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΡ ΡΡΡΠ²ΡΡΠ°
- ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»: ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠΈ ΠΌΠ°ΡΠΈΠ½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Terminal Π·Π° macOS/Linux ΠΈΠ»ΠΈ PuTTY Π·Π° Windows).
- SSH ΠΊΡΠΌ ΠΠ°ΡΠΈΡ ΡΡΡΠ²ΡΡ: Π‘Π²ΡΡΠΆΠ΅ΡΠ΅ ΡΠ΅ Ρ Π²Π°ΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ
ΠΎΡΡΠΈΠ½Π³ Π°ΠΊΠ°ΡΠ½Ρ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
ssh username@yourdomain.comΠΠ°ΠΌΠ΅Π½Π΅ΡΠ΅ username Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΡΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅ ΠΈ yourdomain.com Ρ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠ»ΠΈ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°.
3. ΠΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° Composer
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ°
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ° Π½Π° Composer, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ PHP ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄. ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"Π‘ΡΡΠΏΠΊΠ° 2: ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ°
ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ°, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΡΠ»ΠΎΡΡ. ΠΡΡΠ²ΠΎ, ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ° SHA-384:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'INSERT_HASH_HERE') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ Ρ Π΅Ρ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° Composer ΠΈ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ INSERT_HASH_HERE Ρ Π½Π΅Π³ΠΎ.
Π‘ΡΡΠΏΠΊΠ° 3: Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ°
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ°, Π·Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Composer:
php composer-setup.phpΠ’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΡΠ°ΠΉΠ» composer.phar Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
4. ΠΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Composer Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ ΠΌΡΡΡΠΎ
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Composer Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° composer.phar Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π² PATH:
sudo mv composer.phar /usr/local/bin/composerΠ‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΡ Π΄Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅:
sudo chmod x /usr/local/bin/composer5. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°
ΠΠ° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ Composer Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
composer --versionΠ’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Composer.
6. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Composer
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Composer Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, Π·Π° Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π²Π°ΡΠΈΡ PHP ΠΏΡΠΎΠ΅ΠΊΡ.
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ½ΠΈΡΠΈΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠ°Π²ΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΈ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅:
composer initΠ’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ Π²ΠΈ Π½Π°ΡΠΎΡΠΈ ΠΊΡΠΌ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° composer.json, Π² ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ.
Π‘ΡΡΠΏΠΊΠ° 2: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅
ΠΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π΄Π°Π΄Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
composer require vendor/package-nameΠΠ°ΠΌΠ΅Π½Π΅ΡΠ΅ vendor/package-name Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΠΈΠΌΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅.
7. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° PHP Composer Π½Π° ΡΡΡΠ²ΡΡ Π·Π° Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ PHP Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π‘Π»Π΅Π΄Π²Π°ΠΉΠΊΠΈ ΡΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Composer ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ² Π²Π°ΡΠΈΡΠ΅ PHP ΠΏΡΠΎΠ΅ΠΊΡΠΈ. Π Π΅Π΄ΠΎΠ²Π½ΠΎΡΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° Composer Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΎΡΡΠ°Π½Π°Ρ ΡΠΈΠ³ΡΡΠ½ΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ.
