Як встановити PHP Composer на спільному/віртуальному хостингу: повний посібник
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-додатки на спільному веб-хостингу або у середовищі 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 включають доступ 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:
Відвідайте 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 або виділеному сервері (з доступом sudo):
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composerНа спільному хостингу (без доступу 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"Перезавантажте конфігурацію оболонки:
source ~/.bashrc> Корисна порада: Якщо вам потрібен повний root-доступ та більший контроль над вашим PHP-середовищем, розгляньте можливість переходу на план VPS Hosting або виділений сервер для необмеженої конфігурації на рівні системи.
Крок 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 та перезавантажте оболонку |
PHP Fatal error: Allowed memory size exhausted | Ліміт пам’яті PHP занадто низький | Запустіть php -d memory_limit=-1 /usr/local/bin/composer install |
SSL certificate problem | Відсутні сертифікати CA | Встановіть пакет ### |
