---
title: 'Как установить PHP-FPM 8.* на Debian 13 | Zomro'
description: ''
image: 'https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/28/chatgpt-image-28-2025-19_58_25_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Как установить PHP-FPM 8.* на Debian 13 



# Как установить PHP-FPM 8.* на Debian 13

26-10-2025

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/28/chatgpt-image-28-2025-19_58_25_q50.jpg)

Инструкция по установке **PHP‑FPM** на Debian 13 (trixie): официальный репозиторий (PHP 8.4), мульти‑версии через **Sury** , настройка пулов, интеграция с **Apache (proxy_fcgi)** и **Nginx (fastcgi_pass)** , переключение версий, безопасность, мониторинг и устранение неполадок.

## Почему PHP‑FPM

  * Совместим с современными веб‑серверами (Apache mpm_event, Nginx).

  * Позволяет изолировать проекты разными пулами и/или версиями.

  * Гибкие лимиты ресурсов (per‑pool), сокеты/порты, перезапуски без даунтайма.




## Обновим ОС и установим некоторые пакеты
    
    
    sudo apt update
    sudo apt install -y curl ca-certificates gnupg lsb-release
    lsb_release -sc   # должно вывести: trixie
    

## Вариант A — официальный репозиторий (PHP 8.4)

### Установка
    
    
    sudo apt update
    sudo apt install -y php-fpm php-cli php-mysql php-xml php-curl php-mbstring php-zip php-gd
    php -v
    systemctl --no-pager status php8.4-fpm
    

По умолчанию будет установлен **php8.4-fpm** и запущен сервис.

### **Базовые пути**

  * Конфиг FPM: `/etc/php/8.4/fpm/php-fpm.conf`

  * Глобальные настройки PHP: `/etc/php/8.4/fpm/php.ini`

  * Пулы: `/etc/php/8.4/fpm/pool.d/*.conf`

  * Сокет по умолчанию: `/run/php/php8.4-fpm.sock`




## Вариант B — мульти‑версии через Sury (8.4 + 8.3 + 8.2)

### Подключение Sury для **trixie**
    
    
    sudo install -m 0755 -d /usr/share/keyrings
    curl -fsSL https://packages.sury.org/php/apt.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/sury-php.gpg
    
    echo "deb [signed-by=/usr/share/keyrings/sury-php.gpg] https://packages.sury.org/php/ trixie main" \
      | sudo tee /etc/apt/sources.list.d/sury-php.list
    
    sudo apt update
    

### 

### Установка нескольких веток **FPM/CLI**
    
    
    sudo apt install -y \
      php8.4-fpm php8.4-cli php8.4-mysql php8.4-xml php8.4-curl php8.4-mbstring php8.4-zip php8.4-gd \
      php8.3-fpm php8.3-cli php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring php8.3-zip php8.3-gd \
      php8.2-fpm php8.2-cli php8.2-mysql php8.2-xml php8.2-curl php8.2-mbstring php8.2-zip php8.2-gd
    
    sudo systemctl enable --now php8.4-fpm php8.3-fpm php8.2-fpm
    

Пулы и сокеты (**по умолчанию**):

  * `/run/php/php8.4-fpm.sock`

  * `/run/php/php8.3-fpm.sock`

  * `/run/php/php8.2-fpm.sock`




### Переключение версии для **CLI** (не влияет на веб)
    
    
    sudo update-alternatives --config php
    php -v
    

## 

## Как запустить **несколько версий одновременно**

Нам нужно, чтобы разные сайты ходили в **разные сокеты**. Ниже — минимальные конфиги без создания пользовательских пулов.

### 

### Nginx (**fastcgi_pass**)
    
    
    sudo apt install -y nginx
    

  * **Сайт на PHP 8.2** — `/etc/nginx/sites-available/app82`:


    
    
    server {
        listen 80;
        server_name app82.example;
        root /var/www/app82/public;
    
        index index.php index.html;
    
        location / { try_files $uri $uri/ /index.php?$args; }
    
        location ~ \\.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        }
    }
    

  * **Сайт на PHP 8.3** — `/etc/nginx/sites-available/app83` (аналогично, поменяйте сокет на `php8.3-fpm.sock`).
  * **Сайт на PHP 8.4** — `/etc/nginx/sites-available/app84` (сокет `php8.4-fpm.sock`).



**Активация и проверка:**
    
    
    sudo ln -s /etc/nginx/sites-available/{app82,app83,app84} /etc/nginx/sites-enabled/
    sudo nginx -t && sudo systemctl reload nginx
    

> Идея: **каждый сайт проксируется в свой версионный сокет FPM**. Версии работают параллельно и не мешают друг другу.

## Проверка
    
    
    echo '<?php phpinfo(); ?>' | sudo tee /var/www/app82/public/info.php >/dev/null
    echo '<?php phpinfo(); ?>' | sudo tee /var/www/app83/public/info.php >/dev/null
    echo '<?php phpinfo(); ?>' | sudo tee /var/www/app84/public/info.php >/dev/null
    

**Откройте:**

  * `http://app82.example/info.php` → должна быть **PHP 8.2 (FPM/FastCGI)**

  * `http://app83.example/info.php` → **PHP 8.3 (FPM/FastCGI)**

  * `http://app84.example/info.php` → **PHP 8.4 (FPM/FastCGI)**




> **Важно** : Удалите `info.php` после проверки.

## Мини‑настройки `php.ini` (по желанию)

**Файлы версионно‑зависимые:**

  * `/etc/php/8.4/fpm/php.ini`

  * `/etc/php/8.3/fpm/php.ini`

  * `/etc/php/8.2/fpm/php.ini`




Часто меняют:
    
    
    memory_limit = 256M
    upload_max_filesize = 50M
    post_max_size = 50M
    max_execution_time = 60
    

После изменений перезагрузите соответствующую службу:
    
    
    sudo systemctl reload php8.4-fpm php8.3-fpm php8.2-fpm
    

## 

## 

## Устранение неполадок (кратко)

  * **502 Bad Gateway (Nginx)/AH01079 (Apache):** FPM не запущен или указан неверный путь к сокету. Проверьте `systemctl status php8.X-fpm` и `fastcgi_pass`/`SetHandler`.

  * **PHP скачивается как файл:** для Apache убедитесь, что `libapache2-mod-php` **выключен** (`a2dismod php*`) и включён `proxy_fcgi`. Для Nginx проверьте `location ~ \\.php$`.

  * **Все сайты показывают одну версию:** проверьте, какой **сокет** подключён в каждом vhost/server‑block.

  * **CLI «не та» версия:** переключите `update-alternatives --config php` — это не влияет на веб.




## Чек‑лист запуска

  * Установлены `php8.4-fpm`, при необходимости `php8.3-fpm` и `php8.2-fpm`; службы **включены и запущены**.

  * Apache: `proxy_fcgi` включён, `libapache2-mod-php` отключён; Nginx: серверные блоки указывают на **правильные сокеты**.

  * Каждый сайт ссылается на **свой** сокет: `php8.2-fpm.sock`, `php8.3-fpm.sock`, `php8.4-fpm.sock`.

  * `phpinfo()` показывает разные версии на разных сайтах; тестовые файлы удалены.

  * (Опционально) Мини‑настройки `php.ini` внесены и применены `systemctl reload php8.X-fpm`.

  * Логи ошибок веб‑сервера чистые; `systemctl status php8.X-fpm` без красных строк.




## Итоги

Чтобы запустить **несколько версий PHP‑FPM одновременно** на Debian 13, достаточно установить нужные пакеты 8.4/8.3/8.2 и привязать сайты к **стандартным сокетам версий**. Дополнительные кастомные пулы не обязательны — базовой схемы вполне достаточно для большинства задач и быстрой миграции проектов между ветками PHP.

Похожие статьи

[Как добавить нового пользователя в Windows Server 2012, 2016, 2019](https://zomro.com/rus/blog/faq/272-kak-dobavit-novogo-polzovatelja-v-windows-server-2012-2016-2019) [Как установить свой терминал MT на FXTrade аккаунт?](https://zomro.com/rus/blog/faq/184-kak-ustanovit-svoj-terminal-mt-na-fxtrade-akkaunt) [Выполнение бекапов сайта и базы данных простым скриптом через планировщик](https://zomro.com/rus/blog/faq/369-performing-site-and-database-backups-with-a-simple-script-through-the-scheduler) [VestaCP: База данных без префикса пользователя.](https://zomro.com/rus/blog/faq/214-vestacp-baza-dannyh-bez-prefiksa-polzovatelja) [VestaCP: Как изменить время и периодичность создания резервных копий (бэкапов)](https://zomro.com/rus/blog/faq/72-vestacp-kak-izmenit-vremya-i-periodichnost-sozdaniya-rezervnyh-kopiy-bekapov)

[ Виртуальный хостинг от €3.98/мес ](/rus/virtual)
