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 буквально в несколько кликов. Надеюсь, эта информация была вам полезной.
При установке на Ubuntu php 7.1 перед добавлением репозитария ppa:ondrej/php, дополнительно нужна команда:
$ sudo apt-get install software-properties-common
Добрый День, возможно ли работа одновременно двух версий php ? например для одного сайта php5.6, а для другого php7 ?
Ubuntu 14.04 не помогает
после последовательной установки 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/ удалите ссылку на модуль старой версии, и создайте ссылку на новый.
установка новой версии не предполагает автоматическую замену ссылок или процесс установки новой версии должен проходить несколько иначе?
и, кстати, как создать эту новую ссылку?
сделал так, получилось:
sudo a2enmod php8.0
systemctl restart apache2
А как на 21.10 установить 7.4?
Спасибо! Как всегда отличная статья!
Всем привет, есть задача - ubuntu 16.04, php5.6 (все модули php) mysql 5.6 и apache2 старой версии 2018 года.
с репозитория APP не доступны данные версии, как правильно все это хозяйство установить?