Главная >> Инструкции >> Установка PHP в Ubuntu

Установка PHP в Ubuntu

PHP - это очень популярный скриптовый язык программирования с открытым исходным кодом, который часто используется для разработки веб-сайтов и веб-приложений. PHP означает рекурсивный акроним от PHP Hypertext Processor. Скрипты выполняются на стороне сервера и могут находиться как в отдельных файлах, так и быть встроенными в HTML.

На данный момент официально поддерживается три версии PHP - это 5.6, 7.4 и 8. Предыдущие версии больше не получают обновлений безопасности. В этой статье мы рассмотрим как выполняется установка PHP Ubuntu. Будем устанавливать только поддерживаемые версии. Кроме того, рассмотрим как установить расширения для Apache, а также изменить версию по умолчанию.


Содержание статьи

Установка PHP в Ubuntu

1. Версия по умолчанию - 7.4

PHP версии 7.4 поставляется в официальных репозиториях Ubuntu, поэтому если вы хотите эту версию, то можете очень просто установить ее с помощью команды apt. Сначала смотрим информацию:

sudo apt show php

Теперь для установки версии из репозиториев наберите:

sudo apt install php

Для того чтобы интерпретатор php работал с Apache необходимо установить ещё этот пакет:

sudo apt install libapache2-mod-php

После этого можно посмотреть версию php в терминале:

php -v

2. Устаревшая версия - 5.6

Если вам нужна другая версия PHP, например, 5.6, то вам придется добавить в систему репозиторий PPA. Сначала необходимо установить зависимости:

sudo apt install python-software-properties

Затем для добавления PPA репозитория выполните:

sudo add-apt-repository ppa:ondrej/php

Теперь вы можете установить php ubuntu нужной вам версии. В данном случае 5.6. Для Apache выполните такие команды:

sudo apt install php5.6 libapache2-mod-php5.6

Затем можно смотреть версию:

php5.6 -v

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

3. Новая версия - 8.0

На момент написания статьи, версия PHP 8.0 вышла относительно недавно и в официальных репозиториях LTS релиза Ubuntu её нет. В этой версии было много улучшений и исправлений и если вы хотите её попробовать, то можете установить из того же самого PPA:

sudo add-apt-repository ppa:ondrej/php

Затем, как и в предыдущем пункте необходимо указать версию php, которая вам нужна в команде установки:

sudo apt install php8.0 libapache2-mod-php8.0

После завершения установки интерпретатор появится в системе:

php8.0 -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 по умолчанию выполните такую команду:

sudo apt install php-curl php-memcached php-mysql php-pgsql php-gd php-imagick php-intl php-mcrypt php-xml php-zip php-mbstring

Если надо установить расширения PHP для определённой версии, то следует указать эту версию в названии пакета:

sudo apt install php7.4-curl php7.4-memcached php7.4-mysql php7.4-pgsql php7.4-gd php7.4-imagick php7.4-intl php7.4-mcrypt php7.4-xml php7.4-zip php7.4-mbstring

Аналогично можно установить расширения для PHP 5.6 или 8.0.

Выбор версии 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

Установка php 8 Ubuntu выполняется так же. Теперь вы знаете как переключить версию php Ubuntu. Установка и настройка PHP вместе с Nginx отдельная обширная тема и она описана в статье про настройку PHP-FPM.

Выводы

В этой статье мы рассмотрели как выполняется установка PHP 8 ubuntu 20.04 и других версиях системы. Теперь вы знаете как установить не только PHP 8, но и другие поддерживаемые версии. Как видите, это очень просто, вы можете получить нужную версию PHP буквально в несколько кликов. Надеюсь, эта информация была вам полезной.

11 комментариев к “Установка PHP в Ubuntu”

  1. При установке на Ubuntu php 7.1 перед добавлением репозитария ppa:ondrej/php, дополнительно нужна команда:
    $ sudo apt-get install software-properties-common

    Ответить
  2. Добрый День, возможно ли работа одновременно двух версий php ? например для одного сайта php5.6, а для другого php7 ?

    Ответить
  3. после последовательной установки php 5.6 и 8.0 и настройки 8.0 по умолчанию страница по адресу http://localhost/phpinfo.php выдается заголовок:
    PHP Version 5.6.40-47+ubuntu20.04.1+deb.sury.org+1
    и далее соответствующие подробности.
    как добиться ответа о версии php 8.0 на сервере апач?

    Ответить
    • Посмотрите содержимое папки /etc/apache2/mods-enabled/ и /etc/apache2/mods-available/ удалите ссылку на модуль старой версии, и создайте ссылку на новый.

      Ответить
  4. установка новой версии не предполагает автоматическую замену ссылок или процесс установки новой версии должен проходить несколько иначе?

    Ответить
  5. Всем привет, есть задача - ubuntu 16.04, php5.6 (все модули php) mysql 5.6 и apache2 старой версии 2018 года.
    с репозитория APP не доступны данные версии, как правильно все это хозяйство установить?

    Ответить

Оставьте комментарий