Как установить и использовать PHP Composer в CentOS 8

12 set 2022 4 min di lettura
Как установить и использовать PHP Composer в CentOS 8
Indice dei contenuti

Введение

Composer — это менеджер зависимостей для PHP.

Composer установит все необходимые пакеты PHP, от которых зависит ваш проект, и будет управлять ими за вас. Он используется во всех современных PHP-фреймворках и платформах, таких как Laravel, Symfony, Drupal и Magento 2.

В этом руководстве показаны шаги по установке Composer на CentOS 8.

Прежде чем продолжить, убедитесь, что вы выполнили следующие требования:

Если вы не знаете, как подключиться к серверу через SSH, прочитайте следующее руководство: Как подключиться к VPS-серверу удаленно с помощью SSH с терминала Linux.

Установите Composer на CentOS

Чтобы установить Composer на CentOS 8, выполните следующие действия.

Установите пакет PHP CLI (командная строка) и все остальные зависимости с помощью:

sudo dnf install php-cli php-json php-zip wget nano unzip

После установки интерфейса командной строки PHP загрузите скрипт установки Composer:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Приведенная выше команда загружает файл с именем composer-setup.php в текущий рабочий каталог.

Проверьте целостность данных, сравнив хэш файла SHA-384 с хэшем, найденным на странице открытых ключей/подписей Composer.

Следующая команда wget загружает подпись последнего установочного файла Composer со страницы Composer Github и сохраняет ее в переменной с именем HASH:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

Чтобы убедиться, что сценарий установки не поврежден, выполните следующую команду:

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 в каталог /usr/local/bin:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Приведенная выше команда устанавливает composer как системную команду и доступна для всех пользователей. Вывод будет выглядеть так

All settings correct for using Composer
 Downloading...

 Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
 Use it: php /usr/local/bin/composer

Приведенная выше команда устанавливает composer как системную команду (для всей системы) и доступную для всех пользователей.

Проверьте установку, распечатав версию композитора:

composer -V
Composer version 1.10.1 2020-03-13 20:34:27

На данный момент вы успешно установили Composer в своей системе CentOS и можете начать его использовать.

Установите Composer быстро

Выполните следующие действия, чтобы быстро установить Composer в системе CentOS 8:

Установите PHP CLI и Zip:

sudo dnf install php-cli php-json php-zip curl unzip

Скачать Composer с curl:

curl -sS https://getcomposer.org/installer |php

Переместите файл Composer в каталог /usr/local/bin:

sudo mv composer.phar /usr/local/bin/composer

Введение в Композитор

Теперь, когда Composer установлен в вашей системе CentOS, мы покажем вам, как использовать Composer в проекте PHP.

Начните с создания корневого каталога проекта с помощью команды mkdir и перейдите к нему с помощью команды cd:

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

В этом примере мы будем использовать пакет PHP под названием carbon для создания примера приложения, которое печатает текущее время.

Выполните следующую команду, чтобы инициализировать новый проект Composer и установить пакет углерода:

composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon./composer.json has been created
 Loading composer repositories with package information
 Updating dependencies (including require-dev)
 Package operations: 4 installs, 0 updates, 0 removals
 - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)
 - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)
 - Installing symfony/translation (v5.0.6): Downloading (100%)
 - Installing nesbot/carbon (2.32.1): Downloading (100%)
 symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
 symfony/translation suggests installing symfony/config
 symfony/translation suggests installing symfony/yaml
 symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
 Writing lock file
 Generating autoload files
 3 packages you are using are looking for funding.
 Use the `composer fund` command to find out more!

Как видно из приведенного выше вывода, Composer создает файл с именем composer.json и загружает углерод и все его зависимости.

Если вы перечислите каталоги проекта с помощью команды ls, вы увидите, что он содержит два файла composer.json и composer.lock, а также каталог vendor.

ls -l
-rw-r--r--. 1 noviello noviello 60 Mar 30 23:40 composer.json
 -rw-r--r--. 1 noviello noviello 11135 Mar 30 23:40 composer.lock
 drwxr-xr-x. 6 noviello noviello 4096 Mar 30 23:40 vendor
  • vendor — это каталог, в котором хранятся зависимости проекта.
  • Файл composer.lock содержит список всех установленных пакетов, включая их версии.
  • composer.json — это файл, описывающий ваш проект PHP, включая зависимости PHP и другие метаданные.

Вы можете выполнить поиск пакетов PHP в репозитории Composer Packagist.

Composer имеет возможности автозагрузки, что позволяет использовать классы PHP без необходимости использования операторов require или include.

Создайте файл с именем testing.php:

sudo nano testing.php

Добавьте следующий код:

<?php

 require __DIR__. '/vendor/autoload.php';

 use Carbon\Carbon;

 printf("Now: %s", Carbon::now());

Давайте пройдемся по коду строка за строкой.

В первой строке после открытия тега php включаем файл vendor/autoload.php, который автоматически загружает все библиотеки.

Далее мы создаем псевдоним Carbon\Carbon as Carbon. Последняя строка выводит текущее время с помощью метода Carbon now.

Запустите скрипт, набрав:

php testing.php

Вывод должен выглядеть так:

Now: 2020-03-30 21:58:12

Позже, если вы хотите обновить свои пакеты PHP, вы можете просто запустить:

composer update

Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет найдена более новая версия, а ограничение версии соответствует указанному в composer.json, Composer обновит пакет.

Loading composer repositories with package information
 Updating dependencies (including require-dev)
 Nothing to install or update
 Generating autoload files
 3 packages you are using are looking for funding.
 Use the `composer fund` command to find out more!

Вывод

Вы узнали, как установить Composer на свой сервер CentOS 8. Мы также показали вам, как использовать Composer для создания базового проекта PHP.

Для получения дополнительной информации о Composer посетите страницу официальной документации Composer.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.