Как установить PHP на Ubuntu для nginx
Для сайта на nginx ставьте пакет php-fpm: это PHP, который работает отдельной службой и принимает запросы от nginx. В Ubuntu 24.04 он ставит PHP 8.3, в 26.04 — PHP 8.5. Модули для баз данных ставятся отдельными пакетами.
Содержание 9
Что сделать прямо сейчас
Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
- Обновите список пакетов:
sudo apt update. - Установите PHP-FPM:
sudo apt install php-fpm. Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. На вопросDo you want to continue? [Y/n]нажмите Y и Enter. - Проверьте версию:
php -v. Первая строка начинается сPHP 8.3в Ubuntu 24.04 илиPHP 8.5в 26.04. - Проверьте службу:
sudo systemctl status php8.3-fpm(в Ubuntu 26.04 —php8.5-fpm). В ответе должно бытьactive (running). Выйти — клавиша Q. - Если сайту нужна база MySQL или MariaDB, поставьте модуль:
sudo apt install php-mysql, для PostgreSQL —sudo apt install php-pgsql. - Подключите PHP к nginx — как это сделать.
Какая версия поставится
| Ubuntu | Версия PHP | Служба | Сокет |
|---|---|---|---|
| 24.04 | PHP 8.3 | php8.3-fpm | /run/php/php8.3-fpm.sock |
| 26.04 | PHP 8.5 | php8.5-fpm | /run/php/php8.5-fpm.sock |
Пакет php-fpm сам ничего не содержит: он ставит PHP-FPM той версии, что выбрана для вашей Ubuntu, — php8.3-fpm или php8.5-fpm. Вместе с ним ставится PHP для командной строки, поэтому работает php -v. Дальше в примерах — 8.3: в Ubuntu 26.04 подставьте 8.5.
Почему php-fpm, а не php
nginx сам PHP не выполняет: он передаёт запросы к файлам .php отдельной программе — PHP-FPM. Пакет php без уточнений для nginx не подходит. В Ubuntu 24.04 он через php8.3 требует одно из трёх: модуль PHP для Apache, PHP-FPM или CGI. Модуль Apache в этом списке первый, а сам он зависит от Apache. Так на сервер может попасть второй веб-сервер, который будет спорить с nginx за порт 80.
Если это уже случилось и nginx не запускается из-за занятого порта — разбор ошибки.
Как подключить PHP к nginx
PHP-FPM принимает запросы через файл-сокет. Проверьте, что он есть:
ls /run/php/В ответе должен быть файл php8.3-fpm.sock. В файле настроек сайта nginx, в блоке server, добавьте index.php в строку index и блок для PHP:
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}Проверьте и примените настройки: sudo nginx -t, затем sudo systemctl reload nginx. Как проверить PHP пробным файлом и что делать, если браузер скачивает файл вместо страницы, — в разделе Если сайт на PHP инструкции по размещению сайта.
Модули PHP
Модули — дополнения к PHP: работа с базами, картинками, архивами. Посмотреть, какие уже включены: php -m. Модули ставятся пакетами с именем php8.3-имя или php-имя — второй вариант ставит модуль для версии PHP вашей Ubuntu.
| Пакет | Зачем |
|---|---|
php-mysql | работа с MySQL и MariaDB: модули mysqli, mysqlnd и pdo_mysql. Нужен WordPress |
php-pgsql | работа с PostgreSQL |
Какие ещё модули нужны, написано в требованиях вашей программы: WordPress, интернет-магазина или фреймворка. После установки модуля перезапустите PHP-FPM:
sudo systemctl restart php8.3-fpmГде настройки PHP
Настройки PHP для сайта — в файле /etc/php/8.3/fpm/php.ini. Там задаются, например, размер загружаемых файлов и лимит памяти. После правки перезапустите PHP-FPM той же командой sudo systemctl restart php8.3-fpm. Как поднять лимит загрузки файлов — разбор для WordPress.
Какие версии PHP стоят на сервере, покажет ls /etc/php/: в ответе — папки с номерами версий.
Ошибки и как их исправить
| Что видите | Что делать |
|---|---|
| 502 Bad Gateway на страницах .php | PHP-FPM не запущен или указан не тот сокет |
| браузер скачивает файл .php вместо страницы | запрос не дошёл до PHP: проверьте блок location и сделайте reload nginx |
| WordPress: в PHP нет расширения MySQL | поставьте php-mysql |
Unable to locate package | apt не нашёл пакет |
Источники
- Документация Ubuntu Server: Install PHP — пакеты php-cli, php-mysql и php-pgsql, проверка через phpinfo.
- Пакет php-fpm в Ubuntu 24.04 — ставит php8.3-fpm.
- Пакет php-fpm в Ubuntu 26.04 — ставит php8.5-fpm.
- Пакет php8.3-fpm в Ubuntu 24.04 — зависит от php8.3-cli: вместе с ним ставится PHP для командной строки.
- Пакет php8.3-mysql в Ubuntu 24.04 — модули mysqli, mysqlnd и pdo_mysql.
Сверено 14 октября 2026 года.
Что почитать дальше
- Как установить Apache на Ubuntuустановка, свой сайт через a2ensite, PHP для Apache и почему он спорит с nginx за порт 80.
- Как установить Composer на Ubuntuменеджер пакетов PHP: установка, основные команды и недостающие модули PHP.
- Как разместить сайт на VPSсайт на nginx с доменом и HTTPS.
- Как установить nginx на Ubuntuесли nginx ещё не стоит.
- Как установить MySQL на Ubuntu и Как установить MariaDB на Ubuntu — база для сайта на PHP.
- Как установить WordPressручная установка с базой данных.
- 502 Bad Gatewayвсе причины и как найти нужную по журналу.
- Установка программ на Ubuntuчто ещё поставить для сайта.