15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати
01.11.2024
1 +1

Як встановити 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 доступ увімкнено на вашому обліковому записі хостингу
Версія PHPPHP 7.2 або вище (PHP 8.x наполегливо рекомендується)
Розширення PHPopenssl, 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/monolog

Composer розв’яже залежності, завантажить пакети у папку vendor/ та оновить composer.json та composer.lock.

9c. Встановіть усі залежності з composer.json

При розгортанні проекту або клонуванні репозиторію встановіть усі оголошені залежності за допомогою:

composer install

Для виробничих середовищ використовуйте прапор --no-dev для пропуску пакетів, призначених лише для розробки:

composer install --no-dev --optimize-autoloader

9d. Оновіть залежності

Щоб оновити всі пакети до їхніх останніх дозволених версій:

composer update

Щоб оновити конкретний пакет:

composer update vendor/package-name

9e. Автозавантаження

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Встановіть пакет ###
15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати