15%

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

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

Използвайте код:

Skills
За начало
01.11.2024
1 +1

Как да инсталирате 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/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 или актуализирайте конфигурацията openssl на PHP
The requested PHP extension ... is missingНеобходимо разширение деактивираноАктивирайте разширението в php.ini или свържете се с
15%

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

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

Използвайте код:

Skills
За начало