Хотя PHP устанавливают из исходного кода, в системах наподобие Red Hat Enterprise Linux, OpenSUSE, Fedora, CentOS, Rocky Linux и Oracle Enterprise Linux, которые работают с менеджером пакетов DNF, он также доступен в виде пакетов.
Проект PHP считает сторонние сборки неофициальными и не поддерживает сборки, которые скомпилировали третьи лица. Об ошибках, которые обнаруживают в таких сборках, сообщают поставщику этих неофициальных сборок, если только ошибки не воспроизводятся в сборках » с официальной страницы загрузки.
Пакеты устанавливают командой dnf.
Первое, обратите внимание, что часто требуются и другие связанные пакеты, например
пакет php-pear
для установки модулей из репозитория » PEAR
или пакет php-mysqlnd
для установки модуля MySQL
.
Второе, перед установкой пакета лучше обновить список пакетов. Обычно это делают путём запуска команды dnf update.
Пример #1 Пример установки пакета через пакетный менеджер DNF
# dnf install php php-common
Менеджер пакетов DNF автоматически установит PHP-конфигурацию для веб-сервера, а чтобы изменения вступили в силу потребуется перезапустить веб-сервер. Например:
Пример #2 Перезапуск веб-сервера Apache после установки PHP
# sudo systemctl restart httpd
В последнем разделе PHP установили только с базовыми модулями. Вероятно, потребуются дополнительные модули наподобие MySQL, cURL, GD, другие. Дополнительные модули также устанавливают через команду dnf.
Пример #3 Вывод списка дополнительных PHP-пакетов
# dnf search php
В список попадёт много пакетов —
базовые PHP-компоненты наподобие php-cli
,
php-fpm
и php-devel
и много PHP-модулей. При установке модулей автоматически установятся
дополнительные пакеты, которые удовлетворят зависимости пакетов.
Пример #4 Установка PHP с модулями MySQL и GD
# dnf install php-mysqlnd php-gd
Пакетный менеджер DNF автоматически добавит строки конфигурации
в файлы наподобие /etc/php/8.3/php.ini,
/etc/php/8.3/conf.d/*.ini и другие файлы, которые связаны с файлом PHP-конфигурации php.ini,
и добавит для модулей записи вроде extension=foo.so
.
Изменения вступят в силу после перезапуска веб-сервера, того же Apache.