Установка PHP на Apache
PHP
- это очень популярный скриптовый язык программирования с открытым исходным кодом, который часто используется для разработки веб-сайтов и веб-приложений. PHP
означает рекурсивный акроним от PHP Hypertext Processor
. Скрипты выполняются на стороне сервера и могут находиться как в отдельных файлах, так и быть встроенными в HTML.
На данный момент официально поддерживается три версии PHP
- это 5.6
, 7.4
, 8
. Предыдущие версии больше не получают обновлений безопасности. В этой статье мы рассмотрим как выполняется установка PHP Ubuntu
. Будем устанавливать только поддерживаемые версии. Кроме того, рассмотрим как установить расширения для Apache
, а также изменить версию по умолчанию.
Версия PHP по умолчанию
PHP
версии 7.4 поставляется в официальных репозиториях Ubuntu
, поэтому если вы хотите эту версию, то можете очень просто установить ее с помощью команды apt
.
Обновляем список пакетов сервера:
sudo apt update
Обновляем пакеты сервера:
sudo apt upgrade
Смотрим версию по умолчанию:
sudo apt show php
Для установки версии по умолчанию:
sudo apt install php
Для того чтобы интерпретатор php работал с Apache
необходимо установить пакет:
sudo apt install libapache2-mod-php
Посмотреть версию php в терминале:
php -v // вывод версии PHP
Старая версия PHP 5.6
Если вам нужна другая версия PHP
, например 5.6
, то вам придется добавить в систему репозиторий PPA
. Сначала необходимо установить зависимости:
sudo apt install python-software-properties
Затем для добавления PHP
репозитория выполните:
sudo add-apt-repository ppa:ondrej/php
Теперь вы можете установить php ubuntu
нужной вам версии. В данном случае 5.6
. Для Apache
выполните такие команды:
sudo apt install php5.6 libapache2-mod-php5.6
Затем можно смотреть версию:
php -v
Новая версия PHP 8.0
На момент написания статьи, версия PHP 8.0
вышла относительно недавно и в официальных репозиториях LTS релиза Ubuntu
её нет. В этой версии было много улучшений и исправлений и если вы хотите её попробовать, то можете установить из того же самого PPA
. Сначала необходимо установить зависимости:
sudo apt install python-software-properties
Затем для добавления PHP
репозитория выполните:
sudo add-apt-repository ppa:ondrej/php
Затем, необходимо указать версию php, которая вам нужна в команде установки:
sudo apt install php8.0 libapache2-mod-php8.0
После завершения установки интерпретатор появится в системе:
php -v
Установка расширений PHP
Не зависимо от того какую версию PHP
вы установили, обычно для полноценной работы программ необходимо ещё установить расширения. Вот основные расширения, которые требуются чаще всего:
php-curl
поддержка библиотеки CURL для отправки сетевых запросовphp-memcached
кэширование с помощью Memcachephp-mysql
поддержка баз данных MySQL и MariaDBphp-pgsql
поддержка PostgreSQLphp-gd
обработка графики с помощью библиотеки GDphp-imagick
обработка графики с помощью библиотеки ImageMagickphp-intl
локализация и интернационализацияphp-mcrypt
шифрованиеphp-xml
работа с XML файлами и DOMphp-zip
работа с ZIP архивамиphp-mbstring
работа со строками содержащими UTF-8 символы, в том числе и кириллицу
Поиск расширений PHP, которые могут быть установлены или уже были установлены:
apt search --names-only php | grep ^php7
Устанавливаем необходимые расширения, для примера возьмем два php7.2-gd
и php7.2-zip
:
sudo apt install php7.2-gd php7.2-zip
Смотрим, какие расширения PHP сейчас уже установлены:
apt list --installed | grep ^php7
Файлы конфигурации всех установленных расширений PHP находятся в директории /etc/php/VERSION/mods-available
, посмотреть в терменале можно выполнив две команды:
cd /etc/php/7.2/mods-available
ls
Управление расширениями
Для управления расширениями требуется установка расширения php-common
предоставляет следующие команды:
phpenmod
для включения модулейphpdismod
для отключения модулейphpquery
для просмотра статуса
Синтаксис команд:
phpenmod [-v ALL|php_version] [-s ALL|sapi_name] module_name // включение
phpdismod [-v ALL|php_version] [-s ALL|sapi_name] module_name // отключение
phpquery [-d] [-q] -v version_name -s sapi_name [-m module_name] [-M] [-S] [-V] // статус
Включим два модуля, которые установили ранее:
sudo phpenmod -v 7.2 -s fpm gd // включаем модуль gd
sudo phpenmod -v 7.2 -s fpm zip // включаем модуль zip
Отключить модули можно так:
sudo phpdismod -v 7.2 -s fpm gd // отключаем модуль gd
sudo phpdismod -v 7.2 -s fpm zip // отключаем модуль zip
Опция -v
позволяет указать версию PHP, для которой надо включить или отключить модуль. А опция -s
предназначена для указания SAPI (Server API), например cli
или fpm
.
Выбор версии PHP по умолчанию
Вы можете выбрать какую версию php
нужно использовать по умолчанию с помощью утилиты update-alternatives
. Сначала смотрим доступные версии:
sudo update-alternatives --config php
После этого следует ввести номер версии, которую вы хотите использовать по умолчанию.
Или можно сразу установить php ubuntu
по умолчанию:
sudo update-alternatives --set php /usr/bin/php5.6
Чтобы используемая версия обновилась в Apache
нужно подключить правильный модуль и перезагрузить веб-сервер. Например, для того чтобы отключить 7.4
и включить 5.6
выполните:
sudo a2dismod php7.4
sudo a2enmod php5.6
sudo systemctl restart apache2