Установка PHP в Debian

PHP - очень популярный скриптовый язык программирования с открытым исходным кодом, который в основном используется для разработки динамических веб-сайтов и веб-приложений. PHP расшифровывается как Hypertext Processor что в переводе означает препроцессор гипертекста. Код PHP выполняется на стороне сервера и может находиться как в отдельных файлах с расширением .php, так и быть встроенным непосредственно в HTML.

На данный момент официально поддерживается 2 версии PHP - это 7.4 и 8.0. В данной статье будет рассмотрена установка PHP на Debian 11. Также будет затронута установка расширения для Apache, а также рассказано как изменить версию по умолчанию.

Установка PHP в Debian 11

В данной статье речь конкретно пойдёт о PHP 7.4 и PHP 8. Версия PHP 7.4 уже присутствует в официальных репозиториях Debian. Версия 8.0 отсутствует в официальных репозиториях и её необходимо устанавливать из сторонних репозиториев (будет использоваться репозиторий Sury).

Установка PHP 7.4

Как уже было сказано ранее PHP 7.4 уже присутствует в официальных репозиториях. Для установки сначала необходимо обновить индекс пакетов при помощи команды:

sudo apt update

wFSFTLt5+VLWAAAAABJRU5ErkJggg==

Далее необходимо установить PHP выполнив команду:

sudo apt -y install php7.4

rPegAAAABJRU5ErkJggg==

При выполнении вышеуказанной команды помимо самого интерпретатора PHP автоматически будут установлены такие пакеты как php7.4-json (пакет для работы с JSON), libapache2-mod-php7.4 (пакет для работы с веб-сервером Apache), php7.4-cli (командный интерпретатор PHP) а также автоматически будет установлен веб-сервер Apache (пакеты apache2, apache2-data, apache2-utils).

После того как все пакеты будут установлены в системе можно проверить версию PHP при помощи команды:

php -v

A1SgfhekSg+fAAAAAElFTkSuQmCC

Также проверить что PHP 7.4 установилась успешно можно при помощи команды:

php7.4 -v

DGu4LE4jzG3vaa3RVCpwlYJ4AlNBSFoIQAACJUQAQVhCnUVTIQABCASQQEpSJjd8jPAz+lBhoqE1S6OxlFlZVybnJvoThA5bUIC5GU2UCgEIQKDYCCAIi61HaA8EIAABCBgCdoeh5S3M134V3p0QmXOYPc2Uc00Y3jsxkesvZvKkLLfblYeWMeAhAAEIQKCQBP4f7yy7NO4KGV0AAAAASUVORK5CYII=

Если в выводе команды будет отображена версия PHP это означает что PHP успешно установлен в системе.

Установка PHP 8.0 и 8.1

PHP 8 отсутствует в официальных репозиториях Debian. Для установки данной версии необходимо подключить репозиторий под именем Sury - репозиторий созданный одним из разработчиков Debian содержащий пакеты, которые отсутствуют в официальных релизах Debian.

Для начала необходимо установить необходимые пакеты для работы с HTTPS репозиториями для этого необходимо выполнить команду:

sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2

x+fGHh7sdIkZwAAAABJRU5ErkJggg==

Далее необходимо подключить репозиторий Sury. Для этого необходимо выполнить команду:

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

cWUWV9UZEldeCwtTI2VL7dy9OYQojFwQQQAABBAolQEBYKEnyQQABBBCwBIK2SIlecBjUInaI4b2AAAIIIFA1Av8P9toc7tH2qv4AAAAASUVORK5CYII=

После этого необходимо скачать ключ безопасности для идентификации репозитория при помощи утилиты wget (при её отсутствия необходимо установить wgetзаранее) выполнив команду:

wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

nMLrMlPNMGLt3otfUX8rJk2rq03zkoWX5Hz9qRAABBBAobYHK0m4+rUcAAQQQSFvAuZo0ujCWdmOKeIf4Yle1nNX2lbhqju35ZG9suTDk5W6KWIOmIYAAAgiUqQAzhGU6sHQLAQQQCBZIuYdgYi6LWaxgON8trPOuKgdCmiUpuyOAAAII5FCAGcIc4lI0AgggUAoCTBhGMkpMCUbCSCEIIIAAAvkWIBDmW5z6EEAAgWIVIBlmNjK2BbfMB2bGyF4IIIAAAoUR+H+IxTqmvtaULgAAAABJRU5ErkJggg==

После этого необходимо обновить индекс пакетов:

sudo apt update

wHWCcIdONK9ogAAAABJRU5ErkJggg==

В списках репозиториев можно увидеть успешно добавленный репозиторий Sury. В репозитории Sury присутствует 2 версии PHP 8 - 8.0 и 8.1. Можно выбрать любую из них или установить сразу обе. В качестве примера будет установлена версия 8.1. Для этого необходимо выполнить команду:

sudo apt -y install php8.1

dIChu7RoECsAAAAASUVORK5CYII=

Для установки версии 8.0 команда будет выглядеть следующим образом:

sudo apt -y install php8.0

Так же, как и при установке PHP версии 7.4 автоматически будут установлены дополнительные пакеты. Для каждой версии PHP устанавливаются свои пакеты. Это означает что, если в системе уже присутствует, например пакет php7.4-cli то для версии PHP 8.1 будет установлен пакет php8.1-cli и т.д. Для проверки корректной установки версии PHP 8.1 необходимо выполнить команду:

php -v

CUAAAAASUVORK5CYII=

Или можно выполнить команду:

php8.1 -v

+CLuVE+gAAAAASUVORK5CYII=

Настройка PHP для веб-сервера Apache

Для работы PHP Apache Debian необходимо чтобы в системе присутствовал сам веб-север Apache (пакет apache2) и расширение libapache2-mod-php8.1 (для всех остальных версий PHP название пакета будет одинаковым, однако в конце необходимо указать необходимую версию PHP - 7.4, 8.0. Например libapache2-mod-php7.4, libapache2-mod-php8.0).

Веб сервер Apache и расширение libapache2-mod-php устанавливаются автоматически при установке пакета PHP. В противном случае пакет libapache2-mod-php можно установить, вручную выполнив одну из нижеперечисленных команд (в зависимости от требуемой версии PHP или можно установить сразу для всех версий PHP присутствующих в системе):

sudo apt -y install libapache2-mod-php7.4

sudo apt -y install libapache2-mod-php8.0

sudo apt -y install libapache2-mod-php8.1

Перед использованием PHP необходимо включить соответствующий модуль в Apache. Для включения модуля php7.4 необходимо выполнить команду:

sudo a2enmod php7.4

wE7I8lgr5KuwgAAAABJRU5ErkJggg==

Если в выводе команды будет строка Module already enabled, это означает что модуль уже включен. Чтобы выключить модуль необходимо выполнить команду:

sudo a2dismod php7.4

jIrfdwrc5mMAAAAASUVORK5CYII=

Далее необходимо перезапустить apache при помощи команды:

sudo systemctl restart apache2

aQ0CCCCAAAI+EiCs+qgzqAoCCCBgKUAgZMdAAAEEEEDAC4GMnUSXsQ15oUSZCCCAAAJZFiAQZrkD2DwCCCCAAALBFSCsBrdvaRkCCARFgEAYlJ6kHQgggAACfhRgzqQfe4U6IYAAAgjoAgRCdgYEEEAAAQQQQAABBBBAQFEBAqGiHU+zEUAAAQQyIsCcyYwwsxEEEEAAgVQFCISpyrEeAggggAACCCCAAAIIIJDjAgTCHO9Aqo8AAggggAACCCCAAAIIpCpAIExVjvUQQAABBBDIvgAXrcl+H1ADBBBAIKcFCIQ53X1UHgEEEEAgJwS8i22co5gTOwCVRAABBPwrQCD0b99QMwQQQACBoAgQ24LSk7QDAQQQCJwAgTBwXUqDEEAAAQQQQAABBBBAAAFnAv8PPFKkueuWLksAAAAASUVORK5CYII=

Если необходимо включить модуль для другой версии php, например 8.1 сначала необходимо выключить модуль для другой версии (команда a2dismod) и только потом включить модуль для нужной версии. Для включения модуля php версии 8.1 необходимо выполнить команду:

sudo a2enmod php8.1

buRCAAEEEMgiAQLCLBoMmoIAAggggAACCCCAAAIIpFOAgDCd2tSFAAIIIBAkAdZMBmk06QsCCCCQpwIEhHk68HQbAQQQQAABBBBAAAEEECAg5BhAAAEEEEAAAQQQQAABBPJU4P8BK1tUaKLseFEAAAAASUVORK5CYII=

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

sudo systemctl restart apache2

aQ0CCCCAAAI+EiCs+qgzqAoCCCBgKUAgZMdAAAEEEEDAC4GMnUSXsQ15oUSZCCCAAAJZFiAQZrkD2DwCCCCAAALBFSCsBrdvaRkCCARFgEAYlJ6kHQgggAACfhRgzqQfe4U6IYAAAgjoAgRCdgYEEEAAAQQQQAABBBBAQFEBAqGiHU+zEUAAAQQyIsCcyYwwsxEEEEAAgVQFCISpyrEeAggggAACCCCAAAIIIJDjAgTCHO9Aqo8AAggggAACCCCAAAIIpCpAIExVjvUQQAABBBDIvgAXrcl+H1ADBBBAIKcFCIQ53X1UHgEEEEAgJwS8i22co5gTOwCVRAABBPwrQCD0b99QMwQQQACBoAgQ24LSk7QDAQQQCJwAgTBwXUqDEEAAAQQQQAABBBBAAAFnAv8PPFKkueuWLksAAAAASUVORK5CYII=

Далее для проверки работы Apache и PHP необходимо создать файл с расширением .php в директории хранения сайтов - /var/www/html/ вписав туда команду phpinfo() которая выведет информацию о текущей конфигурации PHP. Для этого необходимо выполнить команду ниже предварительно перейти под учетную запись пользователя root:

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

g5Ekz9Ok+atCy2vcfNSKAAAIINIxAR8O0lIYigAACCFRRIDibNL0wVsVm17zo7GRXM53V95W7ao7v+Xwbfbkw4eVuar6NVIgAAggg0EoCjBC2Um+zrQgggEBxgYJ7CObGshjFKg4Xu4R33NXkQEgrJGV1BBBAAIF0BP4fwXfLAMoooYgAAAAASUVORK5CYII=

Далее необходимо перезапустить веб-сервер Apache:

sudo systemctl restart apache2

lQ1kmql2zNL6WMpTrymS9i8ECoaUvJMDsHE2UigACCCDgKEAg5MBAAAEEELAImCcMjdlCpwWcuZeLnXMYXmbKeibU753oNvWXdPKkmvo0HjloWe7HjxoRQAABBApO4P8BLoUoGjjhIgAAAAAASUVORK5CYII=

После перезагрузки необходимо перейти по адресу localhost/info.php в браузере. Если вывод страницы будет как на скриншоте ниже, то PHP успешно интегрирован c Apache:

H8Xbu6N+6z4MgAAAABJRU5ErkJggg==

На этом настройки php debian с Apache завершена.

Выбор версии PHP

Если в системе присутствует более чем одной версии PHP можно выбрать версию PHP которая будет использоваться по умолчанию. Для того чтобы выбрать необходимую версию PHP сначала можно отобразить список всех версий PHP установленных в системе выполнив команду:

update-alternatives --list php

oz3AJPI0wuTMp1xqNpQHTKMhKYCyEHIsAAgh4VIBA6NGJo9sIIIBAFgvEFGWS46AGPzUfyjZR5Zqlwb2UCbmuTNKH6CwQGsZCAkzOq4laEUAAgUwWIBBm8uzQNwQQQCDXBPQLhtpqodkGztTDBM45TFxmSnom9N870WrpL+zkSXXpU3ukoGepnz9aRAABBBAwF8gHBgEEEEAAgYwUiNxNmrgwlpEDjrNTgc2u6nZWw0fwqjmG50MtGXKhw8vdxNlTiiGAAAIIZKAAK4QZOCl0CQEEEEBALxB2D8HgWharWC5fJPp1VzUHQuqSlOIIIICAJwX+H70r2Yrvk06XAAAAAElFTkSuQmCC

Для установки необходимой версии по умолчанию необходимо выполнить команду:

sudo update-alternatives --set php /usr/bin/php8.1

bNmSv5epj1nQVBqWlUGmEgQQQACB9AoQCNPrSWkIIIAAAkrAeLuXXJioJaD64ysi9xFVGdESCmOXI6ajqRm4yi+uWckFQu4Wk46xpQwEEECg+AT+H31te6spztIvAAAAAElFTkSuQmCC

Вместо php8.1 можно поставить необходимую версию PHP (7.4, 8.0 и тд).

Выводы

В этой статье была рассмотрено как установить PHP Debian 11. Была рассмотрена установка двух версий PHP - 7.4 и 8 а также была описана интеграция PHP с веб-сервером Apachе и выбор необходимой версии PHP по умолчанию. Теперь вы знаете, как установить не только сам интерпретатор языка PHP, но и другие поддерживаемые версии. Как видите, это очень просто, и вы можете получить нужную версию PHP буквально в несколько кликов. Надеюсь, эта информация была вам полезной.

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (7 оценок, среднее: 4,43 из 5)
Загрузка...

Один комментарий

  1. Тони 27 декабря, 2021 Ответить

Ответить

 Для отправки комментариев необходимо принять политику конфиденциальности - политика конфиденциальности