Установка PHP в Rocky Linux

PHP - широко распространенный язык для веб-разработки. Благодаря последней версии 9 и более старой стабильной версии, основанной на Enterprise Linux 8, Rocky Linux представляет собой надежную платформу для работы PHP-приложений. В этом руководстве мы расскажем, как установить PHP 8.3, 8.2, 8.1, 8.0 или 7.4 на Rocky Linux 9 или его более старый стабильный релиз. Используя репозиторий Remi PHP, вы можете легко установить несколько версий PHP на свою систему.

Основные преимущества установки PHP на Rocky Linux

  • Несколько версий: Rocky Linux позволяет устанавливать различные версии PHP, что облегчает удовлетворение специфических требований проекта.
  • Совместимость с открытым исходным кодом: Открытый исходный код PHP обеспечивает плавную интеграцию с различными серверами и базами данных.
  • Простота установки: Репозиторий Remi PHP упрощает процесс установки, делая его понятным даже для новичков в Linux.
  • Безопасность и стабильность: Rocky Linux известен своей безопасностью и стабильностью, что делает его отличным выбором для запуска PHP-приложений.

В следующем руководстве приведены пошаговые инструкции для успешной установки PHP на систему Rocky Linux, будь то версия 9 или более старый стабильный релиз, основанный на Enterprise Linux 8.

Срок службы PHP 7.4 истек 28 ноября 2022 года, и он больше не поддерживается обновлениями безопасности и исправлениями ошибок. Использование этой версии представляет собой риск для безопасности. Перейдите на поддерживаемую версию PHP, например, 8.1, которая будет получать обновления до 26 ноября 2023 года.

Риски, связанные с использованием устаревшего PHP:

  • Повышенная уязвимость системы безопасности
  • Ограниченный доступ к новым функциям
  • Потенциальные проблемы с производительностью
  • Снижение доступности технической поддержки.

Обновление Rocky Linux перед установкой PHP

Перед установкой любого нового программного обеспечения всегда полезно обновить систему. Для этого откройте терминал и выполните следующие команды:

Импорт репозитория PHP Remi в Rocky Linux

Для импорта репозитория PHP Remi необходимо установить репозиторий EPEL (Extra Packages for Enterprise Linux). EPEL особенно полезен для начинающих пользователей таких дистрибутивов, как Rocky Linux, который основан на RHEL и предлагает широкий спектр широко используемых программных пакетов для Enterprise Linux.

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

Импорт репозитория Remi PHP для Rocky Linux 9

Сначала включите CRB.

После включения CRB выполните следующую команду для установки обеих версий EPEL.

Используйте следующую команду, которая импортирует репозиторий EL 9 Remi.

Импорт PHP-репозитория Remi для Rocky Linux 8

Сначала включите EPEL для Rocky Linux 8 с помощью следующей команды.

Теперь с помощью следующей команды импортируйте репозиторий Remi EL 8, содержащий PHP.

Включение PHP (8.x или 7.4) из репозитория Remi в Rocky Linux

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

Выполните в терминале следующую команду:

Появится запрос на импорт GPG-ключа для репозитория Remi. Введите (Y), чтобы продолжить, если он появится.

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

Пример отображения списка доступных модулей PHP на Rocky Linux 9 или 8 для различных версий PHP.

Далее включите версию PHP, которую вы хотите установить.

В Rocky Linux включите PHP 8.3.

Включите PHP 8.2 в операционной системе Rocky Linux.

Включить PHP 8.1 в Rocky Linux.

Включить PHP 8.0 в Rocky Linux.

Включить PHP 7.4 в Rocky Linux.

Установка PHP 8.3, 8.2, 8.1, 8.0 или 7.4

Включив в системе репозиторий Remi PHP, вы можете установить желаемую версию PHP. Предлагаемые опции позволяют выбрать между Apache и Nginx. Однако при наличии необходимых знаний можно пойти дальше и установить специальные расширения, отвечающие требованиям CMS или разработки программного обеспечения.

Apache (httpd) PHP:

Nginx PHP:

После установки выполните следующую команду, чтобы убедиться, что PHP установлен.

Чтобы получить наиболее популярные расширения для нужной версии PHP, выполните указанную ниже команду.

Не устанавливайте все перечисленные ниже расширения без разбора. Команда предназначена для демонстрации широкого спектра часто используемых расширений. Для обеспечения оптимальной производительности и безопасности следует устанавливать только те расширения, которые действительно необходимы для вашего проекта, и удалять те, которые больше не используются.

В качестве альтернативы можно использовать следующую команду вместо того, чтобы набирать расширения по одному:

Теперь давайте разберемся, что делает каждое из этих расширений PHP:

  • php-cli: Интерфейс командной строки для PHP, полезный для запуска PHP-скриптов в оболочке.
  • php-fpm: Менеджер процессов FastCGI, полезный для обработки и обслуживания PHP-запросов.
  • php-curl: Позволяет подключаться и взаимодействовать с различными типами серверов и протоколов.
  • php-mysqlnd: Нативный драйвер MySQL, используемый для подключения к базам данных MySQL.
  • php-gd: Программа Graphics Draw, предназначенная для создания и работы с файлами изображений.
  • php-opcache: Кэш опкодов, используется для ускорения выполнения PHP.
  • php-zip: Позволяет работать с zip-архивами.
  • php-intl: Расширение интернационализации для работы с международными наборами символов и локалями.
  • php-common: Общие файлы и настройки, используемые несколькими модулями PHP.
  • php-bcmath: Двоичный калькулятор, позволяющий выполнять математические вычисления с произвольной точностью.
  • php-imagick: Предоставляет методы для создания и модификации изображений с помощью библиотеки ImageMagick.
  • php-xmlrpc: Позволяет создать XML-RPC-сервер и упрощает отправку XML-RPC-запросов.
  • php-json: Расширение JSON (JavaScript Object Notation) для кодирования и декодирования JSON-данных.
  • php-readline: Позволяет считывать строку данных из терминала.
  • php-memcached: Обеспечивает быстрое кэширование объектов в распределенной памяти.
  • php-redis: Расширение PHP для взаимодействия с Redis.
  • php-mbstring: Многобайтовая строка для работы со строками, отличными от ASCII.
  • php-apcu: APC User Cache, расширение пользовательского кэширования, основанное на APC.
  • php-xml: XML-парсер для разбора XML-документов.
  • php-dom: Document Object Model, для объектно-ориентированного манипулирования XML-документами.
  • php-memcache: Предоставляет удобный процедурный и объектно-ориентированный интерфейс для работы с memcached.
  • php-soap: Используется для написания SOAP-серверов и клиентов.
  • php-ldap: Lightweight Directory Access Protocol, используемый для доступа к информации каталогов и управления ею.
  • php-pdo: PHP Data Objects, уровень доступа к базам данных, обеспечивающий единый метод доступа к различным базам данных.

Имейте в виду, что в зависимости от установленной версии PHP названия некоторых пакетов могут измениться или перестать поддерживаться. Хотя это случается редко, важно иметь это в виду.

Для просмотра модулей, загруженных в любой момент времени, можно воспользоваться следующей командой.

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

Для тех, кто хочет установить ветку разработки, можно воспользоваться следующей командой.

Если вы хотите добавить дополнительные инструменты разработки, например, средства отладки, воспользуйтесь следующей командой.

Важно отметить, что установка этой версии приведет к появлению множества зависимостей, и не рекомендуется делать это, если у вас нет особой необходимости в этом при разработке PHP или каких-либо специальных требований.

Настройка пользователя PHP-FPM Nginx в Rocky Linux

Что касается установки PHP-FPM в таких дистрибутивах, как Debian/Ubuntu, то в них обычно используется пользователь "www-data". Однако для инсталляций на семействе RHEL это не является стандартом. Служба PHP-FPM по умолчанию работает под пользователем "Apache", что не подходит для использования Nginx. Поэтому необходимо произвести настройку.

Для начала откройте следующий конфигурационный файл (www.conf).

Далее замените пользователя и группу (Apache) на пользователя и группу (Nginx).

Пример из:

Поиск имени пользователя Apache в конфигурационном файле PHP-FPM для различных версий PHP на Rocky Linux.

Пример:

 Пошаговый пример изменения имени пользователя PHP-FPM на Nginx в Rocky Linux 9 или 8.

Для сохранения нажмите (CTRL+O), затем выход (CTRL+X).

Теперь необходимо перезапустить службу PHP-FPM.

Пример кода блока сервера Nginx PHP-FPM

Для того чтобы Nginx мог работать с файлами PHP, серверный блок требует определенной конфигурации, как показано в примере ниже. Этот пример применим ко всем блокам server{}, обрабатывающим PHP-файлы, и требует включения параметра "location ~ \.php$".

Пример:

Чтобы убедиться в том, что внесенные в код изменения не привели к возникновению ошибок, выполните следующую команду для проверки Nginx.

Для завершения внедрения PHP-FPM необходимо перезапустить службу Nginx.

Заключение

В статье было рассмотрено, как установить PHP на Rocky Linux, включив репозиторий Remi PHP, установив нужную версию PHP по умолчанию, установив часто используемые расширения и настроив серверный блок Nginx на обработку файлов PHP. При этом необходимо следить за зависимостями и удалять ненужные модули. Очень важно тестировать Nginx на наличие ошибок перед перезапуском службы в будущем, особенно в живой среде.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий