Как да инсталирате PHP Composer на Shared/Virtual Hosting: Пълно ръководство
PHP Composer е де факто стандартният мениджър на зависимости за PHP, позволяващ на разработчиците да декларират, инсталират и управляват библиотеките, от които зависят техните проекти. Независимо дали строите приложение на Laravel, API на Symfony или персонализиран PHP проект, Composer е незаменим инструмент в вашия работен процес.
Това всеобхватно ръководство ви преведе през всяка стъпка на инсталирането на PHP Composer в виртуална или споделена хостинг среда — от SSH достъп до глобална конфигурация и реално използване.
Какво е PHP Composer и защо го трябвате?
PHP Composer е мениджър на пакети, който управлява управление на зависимости на ниво проект. Вместо ръчно да изтегляте библиотеки и управлявате автозареждането, Composer автоматично разрешава зависимостите, изтегля правилните версии и генерира оптимизиран автозареждач.
Ключовите предимства включват:
- Автоматично разрешаване на зависимости — Composer управлява конфликти на версии и вложени зависимости.
- Възпроизводими сборки — Файлът
composer.lockгарантира, че всеки член на екипа и всяка среда на разгръщане използват идентични версии на пакети. - Обширна екосистема — Достъп до над 350 000 пакета на Packagist, хранилището на Composer по подразбиране.
- PSR-4 автозареждане — Елиминира ръчни
requireиincludeизявления в целия ваш код.
Ако работите с PHP приложения на Shared Web Hosting или в среда на VPS Hosting, инсталирането на Composer е един от първите стъпки към професионален, поддържаем работен процес на разработка.
Предварителни условия
Преди да започнете, потвърдете, че следните изисквания са изпълнени:
| Изискване | Детайли |
|---|---|
| Достъп до хостинг | SSH достъп активиран на вашия хостинг акаунт |
| PHP версия | PHP 7.2 или по-висока (PHP 8.x силно препоръчана) |
| PHP разширения | openssl, phar, mbstring, json трябва да бъдат активирани |
| Разрешения | Възможност да пишете в вашата домашна директория или директория в вашия $PATH |
| Терминален клиент | Terminal (macOS/Linux) или PuTTY / Windows Terminal (Windows) |
> Забележка: Ако сте на управляван план на споделен хостинг без SSH достъп, свържете се с вашия хостинг доставчик, за да го активира. Планите на AlexHost за Shared Web Hosting включват SSH достъп, давайки ви необходимия контрол.
Стъпка 1: Свързване към вашия сървър чрез SSH
Отворете вашето терминално приложение и установете SSH връзка към вашия хостинг акаунт:
ssh username@yourdomain.comЗаменете username с вашето действително SSH потребителско име и yourdomain.com с вашето име на домейн или IP адрес на сървъра.
Пример:
ssh john@203.0.113.45След удостоверяване ще попаднете в вашата домашна директория (обикновено /home/username/). Можете да потвърдите вашето текущо местоположение с:
pwdСтъпка 2: Проверка на наличието на PHP
Преди да изтегляте Composer, потвърдете, че PHP е инсталиран и достъпен от командния ред:
php -vТрябва да видите резултат подобен на:
PHP 8.2.10 (cli) (built: Sep 5 2023 08:15:22) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend TechnologiesАко PHP не е намерен или версията е под 7.2, свържете се с вашия хостинг доставчик или надстройте вашата среда. Потребителите на план VPS Hosting имат пълен контрол да инсталират или актуализират PHP версии по необходимост.
Също проверете, че необходимите разширения са заредени:
php -m | grep -E 'openssl|phar|mbstring|json'И четирите разширения трябва да се появят в резултата.
Стъпка 3: Изтегляне на инсталатора на Composer
Composer предоставя официален PHP-базиран скрипт на инсталатор. Изтеглете го, използвайки следната команда:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"Това изтегля скрипта на инсталатор composer-setup.php в вашата текуща работна директория.
Стъпка 4: Проверка на целостта на инсталатора
Тази стъпка е критична за сигурност. Винаги проверявайте SHA-384 хеша на инсталатора преди да го изпълните, за да гарантирате, че файлът не е бил манипулиран или повреден при изтегляне.
4a. Извличане на очаквания хеш от официалната страница на Composer Public Keys:
Посетете https://composer.github.io/pubkeys.html, за да получите най-новия хеш на инсталатора.
4b. Изпълнете командата за проверка:
HASH="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"След това го сравнете с публикувания хеш:
php -r "if (hash_file('sha384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"Ако видите “Installer verified”, продължете. Ако видите “Installer corrupt”, спрете веднага, изтрийте файла и го изтеглете отново.
Като алтернатива можете да използвате еднолинийния код от официалната документация на Composer, заменяйки EXPECTED_HASH със стойност от страницата на публичните ключове:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'EXPECTED_HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"Стъпка 5: Изпълнение на инсталатора на Composer
С проверения инсталатор, изпълнете го, за да инсталирате Composer:
php composer-setup.phpПри успешно изпълнение ще видите резултат като:
All settings correct for using Composer
Downloading...
Composer (version 2.x.x) successfully installed to: /home/username/composer.phar
Use it: php composer.pharФайл composer.phar е създаден в вашата текуща директория. На този етап вече можете да използвате Composer, като извиквате php composer.phar, но да го направите глобално достъпен е много по-удобно.
Стъпка 6: Почистване на скрипта на инсталатора
Премахнете скрипта на инсталатора, тъй като вече не е необходим:
php -r "unlink('composer-setup.php');"Стъпка 7: Глобална инсталация на Composer
За да изпълнявате Composer от всяко място на вашата система, използвайки само командата composer, преместете двоичния файл composer.phar в директория, включена в системния ви $PATH.
На VPS или Dedicated Server (с sudo достъп):
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composerНа Shared Hosting (без sudo достъп):
Ако нямате привилегии на sudo, инсталирайте Composer локално в вашата домашна директория:
mkdir -p ~/bin
mv composer.phar ~/bin/composer
chmod +x ~/bin/composerСлед това добавете ~/bin към вашия $PATH, като добавите следния ред към вашия ~/.bashrc или ~/.bash_profile:
export PATH="$HOME/bin:$PATH"Преизтеглете конфигурацията на shell:
source ~/.bashrc> Pro Tip: Ако имате нужда от пълен root достъп и по-голям контрол над вашата PHP среда, помислете за надстройка към план VPS Hosting или Dedicated Server за неограничена конфигурация на ниво система.
Стъпка 8: Проверка на инсталацията
Потвърдете, че Composer е инсталиран и глобално достъпен:
composer --versionОчакван резултат:
Composer version 2.x.x 2024-xx-xx xx:xx:xxЗа пълна диагностика на вашата среда, изпълнете:
composer diagnoseТази команда проверява вашата PHP конфигурация, мрежова свързаност и настройки на Composer, докладвайки всички потенциални проблеми.
Стъпка 9: Използване на Composer за управление на PHP зависимости
Сега, когато Composer е инсталиран, ето как да го използвате ефективно в вашите PHP проекти.
9a. Инициализация на нов проект
Навигирайте към вашата директория на проект и инициализирайте нов Composer проект:
cd /path/to/your/project
composer initИнтерактивният съветник ще ви подкани за:
- Име на пакет (напр.
yourname/project) - Описание
- Информация за автор
- Минимална стабилност
- Необходими зависимости
Това генерира файл composer.json — сърцето на конфигурацията на зависимостите на вашия проект.
9b. Инсталация на пакет
За да добавите библиотека към вашия проект, използвайте командата require:
composer require vendor/package-nameПримери от реалния свят:
# Install Guzzle HTTP client
composer require guzzlehttp/guzzle
# Install Carbon date library
composer require nesbot/carbon
# Install Monolog logging library
composer require monolog/monologComposer ще разреши зависимостите, изтегли пакетите в директорията vendor/ и актуализира composer.json и composer.lock.
9c. Инсталация на всички зависимости от composer.json
При разгръщане на проект или клониране на хранилище, инсталирайте всички декларирани зависимости с:
composer installЗа производствени среди, използвайте флага --no-dev за пропускане на пакети само за разработка:
composer install --no-dev --optimize-autoloader9d. Актуализация на зависимости
За актуализиране на всички пакети до техните най-нови разрешени версии:
composer updateЗа актуализиране на конкретен пакет:
composer update vendor/package-name9e. Автозареждане
Composer автоматично генерира автозареждач. Включете го в началото на вашата PHP входна точка:
<?php
require 'vendor/autoload.php';Този един ред ви дава достъп до всички инсталирани пакети и всички персонализирани пространства от имена, които дефинирате в composer.json.
Отстраняване на често срещани проблеми
| Проблем | Причина | Решение |
|---|---|---|
composer: command not found | Двоичен файл не в $PATH | Добавете директорията на инсталация към $PATH и преизтеглете shell |
PHP Fatal error: Allowed memory size exhausted | Лимит на PHP памет твърде нисък | Изпълнете php -d memory_limit=-1 /usr/local/bin/composer install |
SSL certificate problem | Липсват CA сертификати | Инсталирайте пакет ca-certificates или актуализирайте конфигурацията openssl на PHP |
The requested PHP extension ... is missing | Необходимо разширение деактивирано | Активирайте разширението в php.ini или свържете се с |
