Хотя PHP доступен для установки из исходного кода, язык также доступен для установки из пакетов с сайта » Debian GNU/Linux. Это также справедливо для других дистрибутивов на основе Debian наподобие Ubuntu, Kali Linux и Linux Mint.
Проект PHP считает сторонние сборки неофициальными и не поддерживает сборки, которые скомпилировали третьи лица. Об ошибках, которые обнаруживают в таких сборках, сообщают поставщику этих неофициальных сборок, если только ошибки не воспроизводятся в сборках » с официальной страницы загрузки.
Пакеты устанавливают командой apt или командой aptitude. Эта страница руководства взаимозаменяет обе команды.
Во-первых, обратите внимание, что иногда требуются и другие связанные пакеты:
libapache2-mod-php требуется для интеграции с веб-сервером Apache httpd 2,
а пакет php-pear для интеграции с репозиторием PEAR.
Во-вторых, перед установкой проверяют актуальность списка пакетов. Это часто делают командой apt update.
Пример #1 Пример установки Apache httpd 2 в ОС Debian
# apt install php-common libapache2-mod-php php-cli
Команда APT автоматически установит PHP-модуль для Apache httpd 2 и зависимости, а затем активирует их. Потребуется перезапустить веб-сервер Apache httpd, чтобы изменения вступили в силу. Например:
Пример #2 Перезапуск веб-сервера Apache httpd после установки PHP
# systemctl restart apache2
В последнем разделе 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/8.x/apache2/php.ini,
/etc/php/8.x/cli/php.ini,
/etc/php/8.x/mods-available/*.ini и другие, которые связаны и соответствуют файлу php.ini,
и в зависимости от модуля добавит записи наподобие
extension=foo.so.
Потребуется перезапустить веб-сервер, чтобы изменения вступили в силу.
Веб-сервер не обрабатывает PHP-скрипты. Самая частая причина состоит в том, что PHP не добавили в файл конфигурации веб-сервера. В ОС Debian файл конфигурации часто лежит по пути /etc/apache2/apache2.conf или аналогичном. Подробнее рассказывает руководство по ОС Debian.
PHP не находит функции модуля. Причина часто состоит в том, что не загрузили INI-файл и (или) после установки модуля не перезапустили веб-сервер.