SCROLL
Среднее время на прочтение: 1 мин.

Как установить PHP верий 8.* \ 7.* на Debian 12/11/10

Для памятки себе оставлю, как установить\обновить версии PHP 8.3, 8.2, 8.1, 8.0 / 7.4, 7.3, 7.2, 7.1 на Debian 12/11/10 (более чем уверен что все описанное ниже будет применимо для всех deb-like Linux систем).

Устанавливаем необходимые зависимости и импортируем PPA от Ondrej.

sudo apt-get install curl gnupg2 ca-certificates apt-transport-https lsb-release -y

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x
sudo apt-get update

Либо альтернативно можно выполнить импорт PPA от Ondrej, следующим образом так:

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

wget -qO - https://packages.sury.org/php/apt.gpg | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/sure.gpg --import

sudo apt-get update

Установка PHP

Установка PHP следующей командой (в зависимости от необходимой версии, подставляем необходимую):

sudo apt-get install php8.2 php8.2-cli php8.2-common -y
Можно устанавливать несколько версий PHP в системе. Каждая версия PHP будет иметь отдельные конфигурационные файлы в каталоге /etc/php/8.X.

Установка версий PHP по умолчанию

В случае если установлено несколько версий PHP, то можно установить определенную версию PHP по умолчанию, командой:

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

Установка PHP расширений

Чтобы установить расширения PHP, используйте следующий синтаксис команды (прим. установим модуль mysql):

sudo apt-get install php8.2-mysql

Можно так же пакетно установить модули PHP в случае если необходимо:

sudo apt-get install php8.2-{mysql,cli,common,imap,ldap,xml,fpm,curl,mbstring,zip}

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

php -m

Поддержка PHP для Apache

Устанавливаем пакет который предоставляет модули PHP для веб-сервера Apache 2:

sudo apt-get install apache2 libapache2-mod-php8.2 -y

Поддержка PHP для Ngnix

Nginx не имеет пакета модулей PHP для поддержки PHP. Но можно использовать диспетчер процессов PHP FastCGI для обработки запросов PHP:

sudo apt-get install php8.2-fpm -y

Ниже пример как использовать FastCGI manager в виртуальном хосте Nginx.

server {

# other codes

  location ~* \.php$ {
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
  }
}
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

0 комментариев

Нет комментариев.