Как установить PHP на Fedora 39

Для тех, кто собирается установить PHP 8.3, 8.2, 8.1, 8.0 или 7.4 на Fedora, понимание значимости и универсальности PHP имеет первостепенное значение. PHP, расшифровывающийся как Hypertext Preprocessor, закрепил за собой место незаменимого языка программирования с открытым исходным кодом, предназначенного для веб-разработки. Давайте разберемся в огромном количестве преимуществ, которые дает PHP:

Ключевые преимущества PHP:

  • Динамические веб-страницы: PHP отлично справляется со скриптингом на стороне сервера, прокладывая путь к динамическому веб-контенту и усиленным мерам безопасности.
  • Кросс-платформенная совместимость: PHP легко интегрируется с различными операционными системами, включая Windows, Mac и Linux, что подчеркивает его адаптивность.
  • Надежная поддержка сообщества: Процветающее сообщество разработчиков PHP обеспечивает постоянную поддержку ресурсами, учебными пособиями и помощью в устранении неполадок.
  • Широкий спектр встроенных функций: PHP имеет множество функций для облегчения повседневных веб-задач, от подключения к базе данных до отправки электронной почты.
  • Интеграция с базами данных: Совместимость PHP с такими известными базами данных, как MySQL и PostgreSQL, упрощает работу над проектами, ориентированными на работу с базами данных.
  • Взаимодействие с современными технологиями: Синергия PHP с такими технологиями, как JavaScript и AJAX, способствует созданию динамичных и удобных веб-приложений.
  • Доступ к библиотекам и фреймворкам: Экосистема PHP включает в себя такие библиотеки и фреймворки, как Laravel и CodeIgniter, что упрощает и ускоряет процесс разработки.
  • Удобство для начинающих: Интуитивно понятный синтаксис и структура PHP делают его идеальной стартовой площадкой для начинающих разработчиков.
  • Экономически эффективная разработка: Будучи открытым исходным кодом, PHP является бюджетным выбором для предприятий и индивидуальных разработчиков.
  • Оптимизированная производительность: PHP обеспечивает быструю и эффективную работу, которая в новых версиях дополняется такими функциями, как JIT-компиляция.

Для пользователей Fedora интеграция PHP, особенно версий 8.3, 8.2, 8.1, 8.0 и 7.4, не составит труда благодаря репозиторию Remi PHP.

Импорт репозитория Remi RPM

Шаг 1: Обновление Fedora Linux перед установкой PHP

Обновите систему перед установкой PHP и его расширений. Для этого выполните следующие команды в терминале:

sudo dnf upgrade --refresh

Шаг 2: Импорт репозитория PHP Remi RPM

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

sudo dnf install http://rpms.remirepo.net/fedora/remi-release-39.rpm -y

sudo dnf install http://rpms.remirepo.net/fedora/remi-release-38.rpm -y

sudo dnf install http://rpms.remirepo.net/fedora/remi-release-37.rpm -y

Шаг 3: Включите репозиторий PHP Remi

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

sudo dnf module list php

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

Если это произойдет, введите (Y), чтобы продолжить.

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

sudo dnf module enable php:remi-8.3 -y

sudo dnf module enable php:remi-8.2 -y

sudo dnf module enable php:remi-8.1 -y

sudo dnf module enable php:remi-8.0 -y

sudo dnf module enable php:remi-7.4 -y

Шаг 4: Установите PHP 8.3, 8.2, 8.1, 8.0 или 7.4 с помощью команды DNF

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

Apache (httpd) PHP:

sudo dnf install php php-cli -y

Nginx PHP:

sudo dnf install php-fpm php-cli -y

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

php -v

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

sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache

Другой способ установки команд, описанных выше, — это использование формата PHP-{extension}.

sudo dnf install php-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,json,readline,memcached,redis,mbstring,apcu,xml,dom,redis,memcached,memcache}

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

php -m

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

Чтобы установить ветку разработки PHP, используйте следующую команду:

sudo dnf install php-devel

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

sudo dnf install php-xdebug php-pcov

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

Дополнительно: Настройка пользователя Nginx для PHP-FPM на Fedora

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

Сначала откройте файл конфигурации (www.conf) с помощью следующей команды:

sudo nano /etc/php-fpm.d/www.conf

Откройте файл конфигурации и замените пользователя и группу (Apache) на пользователя и группу (Nginx).

Нажмите (CTRL+O), чтобы сохранить, затем нажмите (CTRL+X), чтобы выйти.

Внесите необходимые изменения, а затем перезапустите службу PHP-FPM.

sudo systemctl restart php-fpm

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

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

Пример:

location ~ .php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

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

sudo nginx -t

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

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 
nginx: configuration file /etc/nginx/nginx.conf test is successful

Чтобы завершить настройку PHP-FPM, необходимо перезапустить службу Nginx.

sudo systemctl restart nginx

Заключение

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

Поделитесь с друзьями
Підписатися
Сповістити про
guest

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x