Установка из пакетов в ОС Debian GNU/Linux и родственных дистрибутивах

Хотя PHP доступен для установки из исходного кода, язык также доступен для установки из пакетов с сайта » Debian GNU/Linux. Это также справедливо для других дистрибутивов на основе Debian наподобие Ubuntu, Kali Linux и Linux Mint.

Внимание

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

Пакеты устанавливают командой apt или командой aptitude. Эта страница руководства взаимозаменяет обе команды.

Команда APT

Во-первых, обратите внимание, что иногда требуются и другие связанные пакеты: 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, чтобы изменения вступили в силу

Стандартные проблемы

  • Веб-сервер не обрабатывает PHP-скрипты. Самая частая причина состоит в том, что PHP не добавили в файл конфигурации веб-сервера. В ОС Debian файл конфигурации часто лежит по пути /etc/apache2/apache2.conf или аналогичном. Подробнее рассказывает руководство по ОС Debian.
  • PHP не находит функции модуля. Причина часто состоит в том, что не загрузили INI-файл и (или) после установки модуля не перезапустили веб-сервер.