Примітки щодо встановлення в Debian GNU/Linux

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

Увага

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

Пакунки можна встановити командою apt або aptitude. Ці дві команди вважаються рівнозначними.

Використання APT

По-перше, варто зауважити, що інші пов'язані пакети можуть потребувати libapache2-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, а також багато інших розширень PHP. Під час встановлення розширень будуть автоматично встановлені додаткові пакунки, необхідні для задоволення залежностей цих розширень.

Приклад #4 Встановлення PHP з MySQL та cURL

# apt install php-mysql php-curl

APT буде автоматично додає відповідні рядки для різних пов'язаних php.ini файлів, як от /etc/php/7.4/php.ini, /etc/php/7.4/conf.d/*.ini і схожих, та залежно від розширень, буде додавати записи, наприклад extension=foo.so. Необхідно перезапустити вебсервер, щоб зміни набули чинності.

Загальні проблеми

  • Якщо скрипти PHP не обробляються вебсервером, то ймовірно, що PHP ще не додано до конфігураційного файлу вебсервера, який на Debian може знаходитись тут: /etc/apache2/apache2.conf. Докладніша інформація є у керівництві Debian.
  • Якщо розширення встановлено, але функції не доступні, треба переконатись, що завантажується відповідний ini-файл та вебсервер було перезапущено після встановлення цих розширень.