Хотя PHP доступен для установки из исходного кода, язык также доступен для установки из пакетов с сайта » Debian GNU/Linux. Это также справедливо для других дистрибутивов на основе Debian наподобие Ubuntu, Kali Linux и Linux Mint.
Проект PHP считает сторонние сборки неофициальными и не поддерживает сборки, которые скомпилировали третьи лица. Об ошибках, которые обнаруживают в таких сборках, сообщают поставщику этих неофициальных сборок, если только ошибки не воспроизводятся в сборках » с официальной страницы загрузки.
Пакеты устанавливают командой apt или командой aptitude. Эта страница руководства взаимозаменяет обе команды.
Во-первых, обратите внимание, что иногда требуются и другие связанные пакеты:
libapache-mod-php
требуется для интеграции с веб-сервером Apache 2,
а пакет php-pear
для интеграции с репозиторием PEAR.
Во-вторых, перед установкой проверяют актуальность списка пакетов. Это часто делают командой apt update.
Пример #1 Пример установки Apache 2 в ОС Debian
# apt install php-common libapache2-mod-php php-cli
Команда APT автоматически установит PHP-модуль для Apache 2 и зависимости, а затем активирует их. Потребуется перезапустить веб-сервер Apache, чтобы изменения вступили в силу. Например:
Пример #2 Остановка и запуск веб-сервера Apache после установки PHP
# /etc/init.d/apache2 stop # /etc/init.d/apache2 start
В последнем разделе PHP установили только с модулями ядра.
Дополнительные модули наподобие
MySQL,
cURL,
GD и другие устанавливают
командой apt
.
Пример #3 Методы перечисления дополнительных PHP-пакетов
# apt-cache search php # apt search php | grep -i mysql # aptitude search php
Список пакетов включит много пакетов, в которых будут базовые компоненты PHP наподобие php-cgi, php-cli и php-dev, и много других модулей. После установки модулей автоматически установятся дополнительные пакеты, которые удовлетворят зависимости пакетов модулей.
Пример #4 Установка PHP с MySQL и cURL
# apt install php-mysql php-curl
APT автоматически добавит строки в файлы вроде
/etc/php/7.4/php.ini,
/etc/php/7.4/conf.d/*.ini и другие, которые связаны и соответствуют файлу php.ini,
и в зависимости от модуля добавит записи наподобие
extension=foo.so
.
Потребуется перезапустить веб-сервер вроде того же Apache, чтобы изменения вступили в силу