---
title: 'Как установить PHP 8.* - 5.* на Ubuntu 24.04 | Zomro'
description: ''
image: 'https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/11/01/chatgpt-image-1-2025-13_44_09_q50.jpg'
---

![opened image]()

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



# Как установить PHP 8.* - 5.* на Ubuntu 24.04

28-10-2025

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/11/01/chatgpt-image-1-2025-13_44_09_q50.jpg)

В этой статье мы рассмотрим как поставить **стоковый PHP 8.3** из официальных репозиториев Ubuntu 24.04 (Noble) и параллельно держать **несколько версий** (включая 8.2…7.x и даже 5.6) через PPA Ondřej Surý. Разбирем варианты с **Apache (mod_php и FPM)** и **Nginx (FPM)** , переключение версий для **CLI** , чек‑лист и блок «типовые ошибки → решения». Старые ветки (7.x/5.6) — **EOL** , используйте изолированно и осознанно.

## Что ставить и когда

  * **Нужен просто актуальный PHP** → ставьте **8.3** из официальных репозиториев Ubuntu (без PPA).

  * **Нужны несколько версий** (например, 8.3+8.2 или даже 7.4/5.6 для легаси) → добавьте **PPA`ppa:ondrej/php`** и ставьте дополнительные ветки параллельно.

  * **Веб‑сервер** :

    * **Apache** : либо `libapache2-mod-phpX.Y` (просто, но одна версия на весь Apache), либо **phpX.Y-fpm** (гибко, можно разные версии на разные сайты).

    * **Nginx** : всегда **phpX.Y-fpm**.




> Рекомендация: в продакшене предпочитайте поддерживаемые ветки (8.3/8.2). Легаси (7.x/5.6) изолируйте (контейнер/отдельный хост) и ограничивайте доступ.

## Базовые пакеты и подготовка
    
    
    sudo apt update
    sudo apt install -y software-properties-common curl ca-certificates gnupg lsb-release
    

Проверьте релиз:
    
    
    lsb_release -sd   # Ubuntu 24.04 LTS (Noble Numbat)
    

## 

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/31/01_CId6ss9_q50.jpg)

## Используем официальный репозиторий

### Установка PHP 8.3 (Apache модуль + CLI + типовые расширения)
    
    
    sudo apt update
    sudo apt install -y php libapache2-mod-php php-cli \
      php-mysql php-xml php-curl php-mbstring php-zip php-gd
    php -v
    

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/31/02_dHwJmIT_q50.jpg)

**Где искать`php.ini`:**

  * Apache SAPI: `/etc/php/8.3/apache2/php.ini`

  * CLI: `/etc/php/8.3/cli/php.ini`

  * FPM (если поставите): `/etc/php/8.3/fpm/php.ini`




### Переключение версии для CLI:
    
    
    sudo update-alternatives --config php
    php -v
    

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/31/03_tpCs0GH_q50.jpg)

> Пока установлена одна ветка (8.3), выбор один. При добавлении других версий через PPA здесь появятся варианты.

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/31/04_jvU3HxE_q50.jpg)

## Добавляем PPA Ondřej Surý (для нескольких версий, вплоть до 5.6)

> PPA содержит ко‑инсталируемые пакеты `phpX.Y-*` для множества версий. Старые ветки (7.x/5.6) — **EOL** : держите их изолированно, обновляйте код по возможности.

### Подключение PPA
    
    
    sudo add-apt-repository -y ppa:ondrej/php
    sudo apt update
    

### 

### Примеры установки нескольких веток параллельно

#### Apache c **mod_php** (простота, но одна версия на весь Apache)
    
    
    # Устанавливаем 8.3, 8.2, 7.4 и 5.6 параллельно
    sudo apt install -y \
      libapache2-mod-php8.3 php8.3-cli php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring php8.3-zip php8.3-gd \
      libapache2-mod-php8.2 php8.2-cli php8.2-mysql php8.2-xml php8.2-curl php8.2-mbstring php8.2-zip php8.2-gd \
      libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-xml php7.4-curl php7.4-mbstring php7.4-zip php7.4-gd \
      libapache2-mod-php5.6 php5.6-cli php5.6-mysql php5.6-xml php5.6-curl php5.6-mbstring php5.6-zip php5.6-gd
    

**Переключение версии в Apache:** (одновременно активен **один** модуль)
    
    
    # выбрать 8.3
    sudo a2dismod php8.2 php7.4 php5.6 2>/dev/null || true
    sudo a2enmod  php8.3
    sudo systemctl reload apache2
    
    # выбрать 8.2
    sudo a2dismod php8.3 php7.4 php5.6 2>/dev/null || true
    sudo a2enmod  php8.2
    sudo systemctl reload apache2
    
    # выбрать 7.4
    sudo a2dismod php8.3 php8.2 php5.6 2>/dev/null || true
    sudo a2enmod  php7.4
    sudo systemctl reload apache2
    
    # выбрать 5.6 (для легаси, на свой риск)
    sudo a2dismod php8.3 php8.2 php7.4 2>/dev/null || true
    sudo a2enmod  php5.6
    sudo systemctl reload apache2
    

#### 

#### Apache/Nginx с **PHP‑FPM** (гибко: разным сайтам — разные версии)
    
    
    sudo apt install -y \
      php8.3-fpm php8.2-fpm php7.4-fpm php5.6-fpm \
      php8.3-mysql php8.2-mysql php7.4-mysql php5.6-mysql \
      php8.3-xml   php8.2-xml   php7.4-xml   php5.6-xml \
      php8.3-curl  php8.2-curl  php7.4-curl  php5.6-curl \
      php8.3-mbstring php8.2-mbstring php7.4-mbstring php5.6-mbstring \
      php8.3-zip   php8.2-zip   php7.4-zip   php5.6-zip \
      php8.3-gd    php8.2-gd    php7.4-gd    php5.6-gd
    

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

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

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

  * 7.4: `/run/php/php7.4-fpm.sock`

  * 5.6: `/run/php/php5.6-fpm.sock`




Активируйте нужные модули и сайт:
    
    
    sudo a2enmod proxy_fcgi setenvif
    sudo a2enconf php8.2-fpm   # создаёт стандартный мэпинг, если требуется
    sudo a2ensite app82.local
    sudo systemctl reload apache2
    

Не забудьте перезапустить/перезагрузить сервисы:
    
    
    sudo systemctl reload nginx || true
    sudo systemctl reload apache2 || true
    sudo systemctl restart php8.3-fpm php8.2-fpm php7.4-fpm php5.6-fpm
    

### 

### Переключение версии **CLI**
    
    
    sudo update-alternatives --config php
    php -v
    

Аналогично можно выбрать `phar`/`phar.phar`.

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/31/05_32224hy_q50.jpg)

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2025/10/31/06_tKMg1hS_q50.jpg)

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

**`php.ini` (типовые пути):**

  * Apache: `/etc/php/<версия>/apache2/php.ini`

  * FPM: `/etc/php/<версия>/fpm/php.ini`

  * CLI: `/etc/php/<версия>/cli/php.ini`




**Популярные параметры:**
    
    
    memory_limit = 256M
    upload_max_filesize = 64M
    post_max_size = 64M
    max_execution_time = 60
    

После правок:
    
    
    sudo systemctl reload apache2 2>/dev/null || true
    sudo systemctl restart php8.3-fpm php8.2-fpm php7.4-fpm php5.6-fpm 2>/dev/null || true
    

**Список загруженных модулей:**
    
    
    php -m | sort
    php8.2 -m | sort
    php7.4 -m | sort
    php5.6 -m | sort
    

## 

## Безопасность и эксплуатация

  * Для **Apache mod_php** единовременно активна **одна** версия на весь веб‑сервер. Для разных версий на разных сайтах используйте **FPM** или изоляцию (контейнеры/отдельные инстансы).

  * Старые ветки **7.x/5.6 — EOL** : ограничивайте доступ, выключайте лишние модули, мониторьте уязвимости, планируйте миграцию к 8.x.

  * Минимизируйте набор расширений: ставьте только используемые модули.

  * Удаляйте `phpinfo()` после проверки, не держите его в продакшене.




## Типовые ошибки → быстрые решения

  * **PHP файл скачивается вместо выполнения (Apache):** не активирован модуль. `apache2ctl -M | grep php` → `a2enmod phpX.Y`, перезагрузка.

  * **Веб показывает “не ту” версию:** отключите старую `a2dismod php*`, включите нужную `a2enmod phpX.Y`, `systemctl reload apache2`.

  * **Nginx: 502 Bad Gateway:** неверный сокет/порт FPM. Проверьте `fastcgi_pass` и что пул запущен: `systemctl status phpX.Y-fpm`.

  * **CLI не переключается:** `sudo update-alternatives --config php`.

  * **Расширение “не видитcя”:** поставьте модуль **для той же ветки** , что выполняет код (`php7.4-xml` ≠ `php-xml`). Перезапустите FPM/Apache.

  * **Конфликт .htaccess/директив:** проверьте `AllowOverride` и при необходимости задайте параметры в `<VirtualHost>` или `php.ini` нужной SAPI.

  * **Папка сессий/кэша недоступна:** проверьте владельца/права (для FPM — пользователь пула, по умолчанию `www-data`).




## Чек‑лист перед продакшн‑запуском

  * Установлены требуемые версии PHP и нужные расширения.

  * Для Apache: выбран режим (mod_php **или** FPM); активна только нужная версия/модуль.

  * Для Nginx: корректно прописан `fastcgi_pass` к верной версии FPM.

  * `php.ini`/пулы FPM настроены (лимиты, часовой пояс, логи).

  * Проверено `phpinfo()` для каждого сайта/пула; файлы удалены.

  * `update-alternatives` выбран для CLI, если нужно.

  * Логи ошибок чисты, мониторинг включён (systemd‑юниты, access/error‑логи, метрики).

  * Для 7.x/5.6 оформлены отдельные меры безопасности и план миграции.




## Итоги

На Ubuntu 24.04 вы можете: (1) быстро поставить **PHP 8.3** из официальных репозиториев; (2) через **PPA ondrej/php** добавить параллельно нужные ветки до **7.x/5.6** , выбирая режим Apache (**mod_php** или **FPM**) либо Nginx (**FPM**). Для удобства — `update-alternatives` для CLI, для гибкости — FPM с разными пулами. Старые версии поддерживайте только изолированно и планируйте обновление к 8.x.

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

[Как приобрести лицензию на панель ISPmanager](https://zomro.com/rus/blog/faq/96-kak-priobresti-licenziju-na-panel-ispmanager) [Fail2ban: расширенная настройка - nginx, wordpress, custom jail](https://zomro.com/rus/blog/faq/727-fail2ban-advanced-configuration-nginx-wordpress-custom-jail) [Настройка DNS-сервера BIND9 на Linux для внутренней сети](https://zomro.com/rus/blog/faq/714-setting-up-a-bind9-dns-server-on-linux-for-an-internal-network) [Htop - интерактивный системный монитор Linux](https://zomro.com/rus/blog/faq/314-htop-interaktivnyj-sistemnyj-monitor-linux) [n8n в Docker Swarm: сертификаты, масштабирование, безопасность и стабильность](https://zomro.com/rus/blog/faq/622-n8n-in-docker-swarm-certificates-scaling-security-and-stability)

[ Выделенные серверы от €88.80/мес ](/rus/dedicated-servers)
