Установка PHP на Ubuntu и Debian: пошаговая инструкция 2024 | AdminWiki

Установка PHP на Ubuntu: Полное руководство для разработчиков и DevOps

17 декабря 2025 7 мин. чтения #debian #devops #linux #php #ubuntu #веб-разработка #установка php

Представь, что ты начинаешь новый веб-проект или разворачиваешь сервер для существующего приложения. Первое, с чем сталкиваешься — необходимость установить и настроить PHP. В этом руководстве я, как опытный DevOps ментор, покажу тебе все способы установки PHP на Ubuntu (и Debian), от базового до продвинутых вариантов.

Важно: Ubuntu и Debian используют одинаковую систему управления пакетами (APT), поэтому большинство инструкций работают для обеих систем. Различия я буду отмечать отдельно.

Подготовка системы перед установкой PHP

Давай разберем подготовительные шаги. Это как настройка рабочего места перед серьезной работой.

Обновление пакетов и репозиториев

Всегда начинай с обновления списка пакетов:

bash
sudo apt update
sudo apt upgrade -y

Способ 1: Установка PHP из официальных репозиториев Ubuntu/Debian

Самый простой способ, но версии PHP могут быть не самыми свежими. Идеально для быстрого старта.

Поиск доступных версий PHP

bash
apt search php | grep ^php

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

Для установки PHP 8.1 (актуальная LTS версия):

bash
sudo apt install php8.1 -y
Внимание: В зависимости от версии Ubuntu/Debian, доступные версии PHP могут отличаться. Ubuntu 22.04 по умолчанию предлагает PHP 8.1.

Способ 2: Установка PHP из репозитория Ondrej (рекомендуемый)

Ondrej Sury — разработчик, который поддерживает репозитории с актуальными версиями PHP для Debian и Ubuntu. Это самый популярный способ среди профессионалов.

Добавление репозитория Ondrej PHP PPA

bash
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

Установка PHP 8.2 или 8.3

Теперь доступны самые свежие версии:

bash
# Для PHP 8.2
sudo apt install php8.2 -y

# Или для PHP 8.3
sudo apt install php8.3 -y

Установка необходимых расширений PHP

Чистый PHP — это только основа. Для реальных проектов нужны расширения. Вот самые важные:

Базовый набор расширений для веб-разработки:

bash
sudo apt install php8.2-common php8.2-mysql php8.2-xml \
php8.2-curl php8.2-gd php8.2-mbstring php8.2-zip \
php8.2-bcmath php8.2-intl php8.2-fpm -y
  • php-mysql — работа с базами данных MySQL/MariaDB
  • php-xml — обработка XML документов
  • php-curl — HTTP-запросы к внешним сервисам
  • php-gd — работа с изображениями
  • php-mbstring — многобайтовые строки (важно для UTF-8)
  • php-fpm — FastCGI Process Manager (для Nginx)

Проверка установки PHP

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

bash
php --version

Пример вывода:

bash
PHP 8.2.12 (cli) (built: Oct 26 2023 10:57:12) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies

Проверка установленных расширений

bash
php -m

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

В зависимости от выбранного веб-сервера, настройка будет отличаться.

Настройка для Apache

Установите модуль PHP для Apache:

bash
sudo apt install libapache2-mod-php8.2 -y
sudo systemctl restart apache2

Настройка для Nginx с PHP-FPM

Nginx требует отдельной настройки. Сначала проверь статус PHP-FPM:

bash
sudo systemctl status php8.2-fpm

Пример конфигурации Nginx для работы с PHP:

nginx
server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.php index.html;

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

Способ 3: Установка PHP через Docker (для изолированных окружений)

Идеально для разработки, когда нужна изоляция или разные версии PHP для разных проектов.

bash
# Запуск контейнера с PHP 8.2 и Apache
sudo docker run -d -p 8080:80 --name my-php-app \
-v $(pwd):/var/www/html php:8.2-apache

# Или с PHP-FPM и Nginx
sudo docker run -d -p 8080:80 --name php-fpm-app \
-v $(pwd):/var/www/html bitnami/php-fpm:8.2

Сравнение способов установки PHP

Способ Плюсы Минусы Когда использовать
Официальные репозитории Простота, стабильность Устаревшие версии Быстрый старт, тестирование
Ondrej PPA Актуальные версии, все расширения Дополнительный репозиторий Продакшен, современные проекты
Docker Изоляция, разные версии Сложнее в настройке Разработка, микросервисы

Частые проблемы и их решение

Проблема: PHP не выполняется в браузере

Решение: Проверь, что установлен правильный модуль для веб-сервера и сервис запущен.

bash
# Для Apache
sudo a2enmod php8.2
sudo systemctl restart apache2

# Для Nginx
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx

Проблема: Расширение не найдено

Решение: Установи нужное расширение и перезапусти PHP-FPM/Apache.

bash
sudo apt install php8.2-[расширение]
sudo systemctl restart php8.2-fpm

Оптимизация производительности PHP

После установки настрой основные параметры в php.ini:

bash
sudo nano /etc/php/8.2/fpm/php.ini

Рекомендуемые настройки для продакшена:

ini
memory_limit = 256M
max_execution_time = 30
upload_max_filesize = 64M
post_max_size = 64M
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
Совет от ментора: Всегда создавай бэкап конфигурации перед изменениями: sudo cp /etc/php/8.2/fpm/php.ini /etc/php/8.2/fpm/php.ini.backup

Управление несколькими версиями PHP

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

bash
# Установи обе версии
sudo apt install php8.1 php8.2 php8.3

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

# Выбери нужную версию из списка

Часто задаваемые вопросы (FAQ)

Какую версию PHP выбрать для нового проекта?

Для новых проектов рекомендую PHP 8.2 или 8.3. PHP 8.1 — LTS версия, которая будет поддерживаться до 2025 года. Избегай версий ниже 8.0, так как они уже не получают обновлений безопасности.

Чем отличается установка PHP на Debian от Ubuntu?

Процесс практически идентичен. Основное отличие — названия некоторых пакетов и версии в официальных репозиториях. Репозиторий Ondrej работает одинаково хорошо на обеих системах.

Как полностью удалить PHP и установить заново?

bash
sudo apt purge php* -y
sudo apt autoremove -y
sudo apt autoclean
# Затем установи заново по инструкции выше

Где находятся конфигурационные файлы PHP?

  • Основной конфиг: /etc/php/8.2/cli/php.ini (для CLI)
  • Для FPM: /etc/php/8.2/fpm/php.ini
  • Конфиг FPM пула: /etc/php/8.2/fpm/pool.d/www.conf
  • Дополнительные конфиги: /etc/php/8.2/mods-available/

Заключение

Теперь у тебя есть полное руководство по установке PHP на Ubuntu и Debian. Помни:

  • Для продакшена используй репозиторий Ondrej — там самые свежие и стабильные версии
  • Не забывай устанавливать необходимые расширения под свой проект
  • Настраивай php.ini под свои нужды, особенно параметры производительности
  • Для разработки рассмотри Docker — это сэкономит время в долгосрочной перспективе

Попробуй каждый способ на тестовом сервере, чтобы понять, какой подход лучше подходит для твоих задач. Удачи в разработке!

Поделиться:
Сохранить гайд? В закладки браузера