Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Установка PHP для Nginx в Ubuntu: проверка работы через phpinfo()

Обновлено: 27.08.2026 · Официальная документация ↗

Nginx отдает PHP как текстовый файл или скачивает его

В отличие от Apache, Nginx не содержит встроенного модуля PHP и не умеет исполнять код самостоятельно. Для работы требуется менеджер процессов PHP-FPM. Если связь настроена неверно, браузер при открытии сайта будет просто скачивать файл index.php вместо отображения страницы.

Установка PHP-FPM и привязка к Nginx

  1. Устанавливаем PHP-FPM и базовые расширения:
    sudo apt update
    sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y
  2. Узнаем установленную версию:
    php -v

    (Например, версия 8.2 — значит сокет находится в /run/php/php8.2-fpm.sock).

  3. Настраиваем виртуальный хост Nginx:
    sudo nano /etc/nginx/sites-available/default

    Убедитесь, что внутри блока server есть обработчик FastCGI:

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }
  4. Создаем тестовый скрипт phpinfo():
    echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
  5. Перезапускаем службы:
    sudo systemctl restart php8.2-fpm && sudo systemctl reload nginx

Откройте в браузере http://IP_СЕРВЕРА/info.php. После проверки обязательно удалите файл: sudo rm /var/www/html/info.php!

💡 Практика специалистов: Оставленный в корне сайта info.php — подарок для хакеров, раскрывающий все модули и системные пути. Удаляйте его сразу после завершения теста.

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

Почему открывается пустой белый экран при переходе на info.php?

Включите вывод ошибок в /etc/php/8.2/fpm/php.ini: display_errors = On и перезапустите php8.2-fpm.

Что делать при ошибке 502 Bad Gateway?

Проверьте статус службы PHP: sudo systemctl status php*-fpm и убедитесь в правильности пути к сокету.

Как установить старую версию PHP (например, 7.4) на Ubuntu 22.04/24.04?

Добавьте репозиторий PPA: sudo add-apt-repository ppa:ondrej/php.

Как изменить лимит загрузки файлов в PHP?

Измените параметры upload_max_filesize и post_max_size в файле php.ini.

Полезные материалы
Рекомендуем