Полный цикл в digital

Установка 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 кэширование с помощью Memcache
  • php-mysql поддержка баз данных MySQL и MariaDB
  • php-pgsql поддержка PostgreSQL
  • php-gd обработка графики с помощью библиотеки GD
  • php-imagick обработка графики с помощью библиотеки ImageMagick
  • php-intl локализация и интернационализация
  • php-mcrypt шифрование
  • php-xml работа с XML файлами и DOM
  • php-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 предоставляет следующие команды:

  1. phpenmod для включения модулей
  2. phpdismod для отключения модулей
  3. 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
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг