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

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

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

Linux / DevOps

Установка PHP на веб-сервер (Nginx / Apache): проверка через info.php

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

Зачем нужен PHP на веб-сервере

Веб-серверы Nginx и Apache сами по себе умеют отдавать только статические файлы (HTML-страницы, картинки, стили CSS). Чтобы на сервере работали современные динамические сайты и CMS (WordPress, Битрикс, Laravel), требуется установить интерпретатор PHP. Для Apache обычно используется встроенный модуль, а для Nginx — отдельный высокопроизводительный сервис обработки скриптов PHP-FPM (FastCGI Process Manager).

Признаки того, что PHP не работает

  • При открытии сайта браузер предлагает скачать index.php как файл, вместо того чтобы открыть страницу.
  • На экране отображается чистый белый экран (White Screen of Death) или сам исходный PHP-код.
  • Веб-сервер выдает ошибку 502 Bad Gateway.

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

Шаг 1: Установка пакетов PHP и расширений

Установим базовый PHP, менеджер процессов PHP-FPM и популярные модули для работы с базами данных и графикой:

sudo apt update
sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

Шаг 2: Проверка версии и статуса службы

Узнаем точную версию установленного PHP (например, PHP 8.1, 8.2 или 8.3):

php -v
sudo systemctl status php*-fpm

Шаг 3: Настройка связи с веб-сервером

Для Apache: достаточно включить модуль и перезапустить веб-сервер:

sudo a2enmod php*
sudo systemctl restart apache2

Для Nginx: откройте конфигурационный файл вашего сайта (/etc/nginx/sites-available/default) и добавьте обработку PHP-файлов через Unix-сокет:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}

Проверьте синтаксис Nginx и примените настройки: sudo nginx -t && sudo systemctl reload nginx.

Шаг 4: Создание тестового диагностического файла info.php

Создадим тестовый скрипт в корневой папке сайта:

echo "" | sudo tee /var/www/html/info.php

Шаг 5: Проверка в браузере и ОБЯЗАТЕЛЬНОЕ удаление файла

Откройте в браузере адрес: http://IP_сервера/info.php. Вы увидите фиолетовую таблицу со всеми характеристиками среды PHP.

Внимание: Страница phpinfo() раскрывает версии модулей и секретные переменные окружения. После успешного теста обязательно удалите этот файл:

sudo rm /var/www/html/info.php

Типовые ошибки администраторов

  • Оставленный файл info.php в открытом доступе: Хакеры используют сканеры для поиска info.php, чтобы узнать точные уязвимые версии библиотек сервера.
  • Несоответствие версии сокета PHP-FPM в Nginx: Если в конфиге Nginx указан сокет php7.4-fpm.sock, а на сервере установлен PHP 8.2, Nginx вернет ошибку 502 Bad Gateway.
Требуется настроить стек LAMP/LEMP под высокие нагрузки или запустить несколько версий PHP одновременно?
Инженеры ITSTM подберут оптимальные параметры memory_limit и opcache, изолируют пулы пользователей и обеспечат максимальный PageSpeed вашего ресурса.
💡 Практика специалистов: Для сайтов на Production всегда включайте встроенный акселератор OPcache (параметр 'opcache.enable=1' в php.ini). Это кэширует скомпилированный байткод скриптов в оперативной памяти и ускоряет отдачу страниц в 2-4 раза без нагрузки на процессор.

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

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

Добавьте сторонний репозиторий Ондрея Сури (Ondřej Surý): 'sudo add-apt-repository ppa:ondrej/php -y', обновите списки пакетов и установите нужную версию: 'sudo apt install php7.4 php7.4-fpm'.

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

Для Apache путь обычно: /etc/php/X.X/apache2/php.ini. Для PHP-FPM (Nginx): /etc/php/X.X/fpm/php.ini. Для консоли CLI: /etc/php/X.X/cli/php.ini.

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

В файле php.ini измените параметры: upload_max_filesize = 64M и post_max_size = 64M, после чего перезапустите службу php-fpm.

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

На сервере отключен вывод ошибок. Проверьте параметр 'display_errors = On' в php.ini или посмотрите системный лог ошибок: /var/log/nginx/error.log или /var/log/apache2/error.log.

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