Спестете 15% от всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код: Skills За начало
Заглавия
Linux Виртуални сървъри

Как да инсталирате PHP Composer на Shared/Virtual Hosting: Пълно ръководство

PHP Composer е де факто стандартният мениджър на зависимости за PHP, позволяващ на разработчиците да декларират, инсталират и управляват библиотеките, от които техните проекти зависят. Независимо дали строите Laravel приложение, Symfony API или персонализиран 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’s 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/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 и презаредете 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 пакет или актуализирайте PHP конфигурацията на openssl
The requested PHP extension ... is missingНеобходимото разширение е деактивираноАктивирайте разширението в php.ini или се свържете с вашия хост
Разрешението е отказано на /usr/local/binНяма sudo достъпИнсталирайте Composer локално в ~/bin както е описано в Стъпка 7

Поддържане на Composer в актуално състояние

Composer включва вграден механизъм за самоактуализация. Изпълнете следната команда периодично, за да се уверите, че имате най-новата версия:

composer self-update

За да се върнете към предишната версия, ако е необходимо:

composer self-update --rollback

Поддържането на актуална версия гарантира, че ще се възползвате от най-новите пачове за сигурност, поправки на грешки и подобрения на производителността.

Избор на правилната хостинг среда за PHP разработка

Хостинг средата, която избирате, значително влияе на способността ви да използвате инструменти като Composer ефективно.

  • Споделен уеб хостинг — Подходящ за по-малки PHP проекти. SSH достъпът е наличен, но системните промени са ограничени. Composer може да бъде инсталиран локално в вашата домашна директория.
  • VPS хостинг — Идеален за повечето PHP разработчици. Пълният root достъп позволява глобална инсталация на Composer, персонализирани PHP конфигурации и пълен контрол над вашия стек.
  • VPS с cPanel — Комбинира мощта на VPS с удобството на графичен контролен панел, което прави управлението на PHP и Composer още по-достъпно.
  • Dedicated сървъри — Най-добрите за PHP приложения с висок трафик, които изискват максимална производителност, изолация и наличност на ресурси.

Комбинирайте вашия хостинг с подходящ SSL сертификат, за да защитите вашите PHP приложения и API крайни точки в production.

Заключение

Инсталирането на PHP Composer в виртуална или споделена хостинг среда е лесен процес, който драматично подобрява вашия PHP работен процес. Следвайки това ръководство, вие:

  1. ✅ Свързахте се към вашия сървър чрез SSH
  2. ✅ Проверихте наличието на PHP и необходимите разширения
  3. ✅ Изтеглихте и криптографски проверихте инсталатора на Composer
  4. ✅ Инсталирахте Composer глобално или локално в зависимост от вашето ниво на достъп
  5. ✅ Научихте се как да инициализирате проекти, инсталирате пакети и управлявате зависимости

Composer не е просто удобство — това е професионален стандарт. Поддържането му актуален и последователното му използване във вашите проекти гарантира, че вашите PHP приложения остават безопасни, поддържаеми и мащабируеми.

Независимо дали управлявате малък сайт на Споделен уеб хостинг или сложно приложение на Dedicated Server, AlexHost предоставя инфраструктурата и SSH-активирани среди, които ви трябват, за да работите с Composer ефективно.