Как установить php 8 ubuntu

Обновлено: 03.07.2024

Из этой статьи вы узнаете, как установить PHP 8.0 на Ubuntu 20.04 и настроить его для работы с веб-серверами Apache и NGINX.

Требования

  • Веб-сервер NGINXили Apache, работающий на Ubuntu 20.04
  • Пользователь с привилегиями sudo

Добавьте репозиторий ondre/php

На момент написания этой статьи PHP 7.4 является последней версией, доступной в репозитории пакетов Ubuntu по умолчанию.

Чтобы установить PHP 8, вам нужно добавить репозиторий ondre/php. В этом частном архиве пакетов доступно несколько версий PHP и расширений.

Выполните следующую команду, чтобы добавить репозиторий ondre/php в Ubuntu 20.04.

Затем выполните приведенную ниже команду, чтобы проверить наличие обновлений пакета.

Установка PHP 8 для Apache

После добавления репозитория ondre/php и проверки наличия обновлений пакетов, вы можете запустить следующую команду для установки PHP 8 на Ubuntu 20.04.

При появлении запроса введите y, чтобы продолжить.

Установка PHP 8.0 для Apache

Установка PHP 8.0 для Apache

После успешного завершения установки вы можете проверить версию PHP с помощью следующей команды.

Проверка версии PHP

Проверка версии PHP

Тест PHP 8 на Apache в Ubuntu

Чтобы убедиться, что PHP правильно работает с Apache, создайте index.php файл в корне документа по умолчанию следующим образом.

Установка PHP 8 для NGINX сервера Ubuntu

В отличие от Apache, NGINX не имеет встроенных возможностей для обработки PHP-документов. Чтобы обойти эту проблему, вам нужно установить PHP-FPM (то есть PHP FastCGI Process Manager) и настроить его для работы с NGINX.

Первое что требуется это убедится в том, что вы добавили репозиторий ondre/php.

Кроме того, проверьте наличие обновлений пакета с помощью команды:

Чтобы установить PHP-FPM 8.0 на Ubuntu 20.04, выполните приведенную ниже команду.

Теперь проверьте версию PHP с помощью команды:

Затем откройте файл блока сервера NGINX по умолчанию, делается это следующим образом.

$ sudo nano /etc/nginx/sites-available/default

Прокрутите вниз, пока не дойдете до строки, начинающейся с index, а затем добавьте index.php к списку, как показано на рисунке ниже.

Добавить index.php директива to NGINX index

Добавить index.php директива to NGINX index

Обратите внимание, что определенные строки были раскомментированы, а php7.4-fpm.sock был заменен на php8.0-fpm.sock.

Сохраните внесенные изменения и закройте файл блокировки сервера.

Тест PHP 8 на NGINX

Чтобы убедиться, что после установки PHP 8, он правильно работает с NGINX. Создайте index.php файл в корне документа по умолчанию.

Сохраните и закройте index.php файл.

Если вы видите страницу PHP версии 8.0.3 info, то вы все сделали правильно.

PHP Версия 8.0.3 страница на NGINX

PHP Версия 8.0.3 страница на NGINX

Заключение

В этой статье мы описали шаги по установке и настройке PHP 8 на веб-серверах Apache и NGINX. Если у вас есть какие-либо вопросы пожалуйста оставьте комментарии.

Эта статья покажет вам, как установить PHP 8 в Ubuntu 20.04 и интегрировать его с Nginx и Apache.

На момент написания репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7.4. Мы установим PHP из репозитория ondrej / php PPA.

Перед обновлением или установкой PHP 8 убедитесь, что ваши приложения его поддерживают.

Те же шаги применимы для Ubuntu 18.04 и всех дистрибутивов на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.

Включение репозитория PHP

Ондржей Сури, разработчик Debian, поддерживает репозиторий, включающий несколько версий PHP. Чтобы включить репозиторий , запустите:

После включения PPA вы можете установить PHP 8.

Установка PHP 8.0 с Apache

Если вы используете Apache в качестве веб-сервера, вы можете запускать PHP как модуль Apache или PHP-FPM.

Установите PHP как модуль Apache

После установки пакетов перезапустите Apache, чтобы модуль PHP загрузился:

Настройте Apache с помощью PHP-FPM

По умолчанию PHP-FPM не включен в Apache. Чтобы включить его, запустите:

Чтобы активировать изменения, перезапустите Apache:

Установка PHP 8.0 с Nginx

Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.

Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:

После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите

Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:

Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:

Установка расширений PHP

Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:

После установки нового расширения PHP не забудьте перезапустить службу Apache или PHP FPM, в зависимости от ваших настроек.

Тестирование обработки PHP

Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html со следующим кодом:

Вы увидите информацию о своей конфигурации PHP, подобную следующей:

Выводы

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

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

Изменения расширений и зависимостей в PHP 8.0

Несмотря на огромное количество изменений в PHP 8.0, в принципе было произведено не так много изменений в его зависимостях и структуре расширений.

Расширение JSON теперь всегда доступно , и нет флага компиляции для его исключения. Это означает, что больше нет необходимости явно устанавливать пакет php-json.

Расширение xmlrpc перемещено в PECL по уважительным причинам. Репозитории программного обеспечения, упомянутые в этом посте, не включают xmlrpc расширения для PHP 8.0.

Кроме того, в Windows название расширения GD было изменено с php_gd2.dll на php_gd.dll.

Изменения в файле INI PHP 8.0

Также есть несколько изменений в файле INI.

  • По умолчанию утверждения вызывают исключения - ( assert.exception=1)
  • Отображение ошибок по умолчанию установлено на E_ALL - ( error_reporting=-1)
  • При запуске теперь по умолчанию ошибки включены - ( display_startup_errors=1)
  • Новая функция JIT в PHP 8.0 добавляет несколько новых директив INI.
  • Параметр zend.exception_string_param_max_len для настраиваемой длины строки трассировки стека исключений

Установка PHP 8

1. Необходимо добавить репозиторий ondrej/phpPPA

Приведенные выше шаги добавят PPA в качестве источника пакетов, который содержит все пакеты PHP и их зависимости, такие как argon2 и libzip.

2. Установите PHP 8.0 и нужные расширения

Все пакеты PHP 8.0 следуют шаблону php8.0-имя_расширения , и пакет php8.0-common включает необходимый набор расширений по умолчанию.

Установите PHP 8.0 CLI для работы в консоли

Вы можете установить дополнительные расширения по тому же шаблону php8.0-имя_расширения. Обратите внимание, что вам не нужно устанавливать, так php8.0-json, так как теперь он включен по умолчанию.

Пример установки еще нескольких полезных расширений:

Для разработки также могут быть установлены инструменты покрытия кода или отладчик Xdebug.

Установка PHP8 fpm

В зависимости от используемого веб-сервера вам необходимо будет установить дополнительные пакеты для интеграции с веб-сервером.

Для использования Apache mpm_event, Nginx, Litespeed и т. д. нужно будет установить php8.0-fpm

Для использования Apache mod_php установите libapache2-mod-php8.0

Чтобы проверить установку PHP и расширений, выполните следующие команды:

Если вам потребуется удалить старые пакеты PHP, можно воспользоваться командой

Это предполагает, что вы используете PHP 7.4 в качестве предыдущей версии. Но будьте осторожны, сначала сто раз проверьте что вы больше не используете старые версии в своих проектах.

Смена установленной версий PHP по умолчанию.

Если вдруг вас не устраивает новая установленная версия PHP, вы можете сменить другую версию по умолчанию, командой:

И введя номер нужной вам предыдущей версии PHP.


Веб-разработчик со стажем программирования более 9 лет, всегда в процессе учебы и созидания.

PHP (англ. Hypertext Preprocessor) — достаточно популярный язык в среде веб-разработчиков, он служит для генерации динамических сайтов и является базовым для многих известных CMS, например, таких как WordPress и др. Скрипты, написанные на PHP, исполняются непосредственно на веб-сервере.

Релиз версии PHP 8.0 состоялся 26 ноября 2020 г. Восьмая версия содержит следующие новшества:

  • поддержку "union type",
  • использование динамической компиляции (JIT-компиляции),
  • работу с атрибутами (или аннотациями).

В этой статье мы расскажем, как установить под Ubuntu 20 PHP version 8, покажем, как это можно сделать под Apache или Nginx. Также опишем все тонкости установки PHP8, как альтернативной версии на сервере и особенности выполнения веб-проектов под разными версиями языка PHP.

Процесс установки PHP 8.0 на сервер под Ubuntu 20

Покажем на практическом примере, как установить PHP 8, в качестве версии «по умолчанию», на сервер под управлением Ubuntu 20.04. Дело в том, что в базовом репозитории Ubuntu 20.04 находится версия PHP 7.4 (по умолчанию), поэтому нам необходимо воспользоваться репозиторием Ондржея Сури (Ond?ej Surý), в котором есть сразу несколько версий языка PHP. Все описанные далее действия можно выполнить и под Ubuntu 18.04 (также и под некоторыми совместимыми с Ubuntu OC, например, Kubuntu, Linux Mint и др.)

*Примечание: Перед выполнением всех работ по инсталляции, необходимо убедиться, что ваши веб-приложения поддерживают php 8.0.

Перед тем, как начать процесс установки, выполните обновления на серверной ОС Ubuntu:

Затем необходимо включить PPA (Personal Package Archive) от разработчика Ондржея Сури, для этого выполним следующие команды:

Сейчас можно приступать к установке PHP8, ниже покажем, как установить php8, в качестве модуля Apache, настроить с помощью PHP-FPM или же установить PHP8 с Nginx.

1. Как инсталлировать PHP 8 в качестве модуля Apache

Для начала установки введем команды:

После установки модуля PHP, перезапустим Apache:

Для установки PHP-FPM (fastCGI Process Manager, пакета, который выполняет обработку PHP-скриптов) необходимо выполнить команды:

Перезапустим Apache, чтобы активировать сделанные изменения:

2. Как инсталлировать PHP 8 вместе c Nginx

В веб-сервере Nginx нет встроенной поддержки обработки PHP файлов, поэтому следует воспользоваться PHP-FPM. Для инсталляции PHP и PHP-FPM введем следующие команды:

Служба PHP-FPM запустится автоматически, для проверки ее статуса следует ввести команду:

Необходимо внести несколько строк в файл серверного блока:

*Примечание: Серверные блоки (аналог виртуальных хостов в Apache) могут использоваться для размещения нескольких доменов на одном сервере, причем для каждого сайта вы можете задать свою директорию и отдельные настройки, см. пример:

Такой файл содержит простой код и показывает к какому именно сайту обращается пользователь:

Для того, чтобы все наши настройки вступили в силу, выполним рестарт Nginx командой:

3. Установка расширений PHP 8.0

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

Допустим, нам необходимо будет работать с базами данных и графикой, для этого сразу установим расширения MySQL и GD:

Для того, чтобы настройки вступили в силу, необходимо перезапустить Apache или PHP-FPM (в зависимости от способа, с помощью которого вы устанавливали PHP).

4. Тестирование обработки PHP 8.0 на веб-сервере

После проведения всех инсталляционных работ, необходимо проверить правильно ли обрабатываются PHP-скрипты на сервере. Для этого нам нужно создать файл info.php в каталоге /var/www/html, запустить файл на редактирование:

Разместить в файле простой код:

Затем требуется сохранить данный файл и проверить его работу в браузере:

В результате, на экран будет выведена примерно следующая информация о вашей версии PHP и ее конфигурации, см. скриншот:

Инсталляция PHP 8.0 на сервер в качестве альтернативной версии языка PHP

В работе администратора веб-сервера часто встречаются задачи, которые требуют наличия на сервере сразу нескольких версий языка PHP. Например, у вас есть какие-то приложения для корпоративных задач, которые стабильно работают под старыми версиями PHP (5.6 или 7.3), но при этом, на одном из сайтов, вам необходимо опробовать какие-то новые функции и для этого нужна самая последняя версия PHP 8.0. В таком случае, веб-мастеру требуется оперировать сразу несколькими версиями PHP на сервере, а PHP 8.0 нужно доустановить, как альтернативную. Покажем на примерах, как это сделать.

Нам опять потребуется для работы PPA от Ондржея Сури, который позволяет устанавливать сразу несколько версий языка PHP (как установить этот PPA, см. в начале нашей статьи).

Итак, для начала необходимо вывести рабочую информацию о последней стабильной версии PHP, которая находится в репозитории Ubuntu 20 (по умолчанию):

Ниже приведем команды для установки любой версии PHP из PPA от Ондржея Сури для Apache Web Server:

На примере версий PHP 5.6 и 7.0 покажем процесс установки:

Естественно, если у вас стоит более старая версия PHP, то для установки восьмой версии, просто воспользуйтесь последней командой из этого списка.

Для установки различных версий PHP под Nginx Web Server команды будут следующие:

Какая версия у вас установлена, всегда можно проверить с помощью команды:

Далее покажем, как установить дополнительные модули (расширения) для различных версий PHP на сервере (на примере версий 7.3 и 8.0):

Сейчас необходимо установить версию PHP, которая на сервере будет работать «по умолчанию», используя команду update-alternatives, (покажем на примере версий 7.3 и 8.0):

Последней командой мы выбираем восьмую версию PHP в качестве основной.

Для переключения версий PHP, в случае, если у вас установлен веб-сервер Apache, необходимо выполнить следующие команды:

  • вначале нужно отключить текущую версию PHP (например, php 7.3) с помощью команды a2dismod,
  • затем включить нужную нам версию командой a2enmod (например, это будет версия php 7.4).

После переключения версий, перегрузите веб-сервер Apache.

Когда вы переключились с одной версии PHP на другую, посмотреть место нахождения конфигурационного файла текущей версии возможно с помощью команды (к примеру, для версии 7.3):

И для версии PHP8:

Заключение

В этой статье мы детально описали два способа инсталляции последней версии PHP 8.0, (в качестве основной версии «по умолчанию» и в качестве альтернативной версии на сервере с уже установленными другими версиями PHP). Также остановились на тонкостях установки PHP под Apache и Nginx, показали, как устанавливать различные расширения для PHP. В этой публикации затронут непростой вопрос по организации работы нескольких версий PHP на веб-сервере и выборе базовой версии для работы.

Хочется верить, что этот материал будет востребован у системных администраторов и веб-мастеров, которые занимаются как настройкой VPS, так и разработкой веб-приложений. Специалисты компании FREEhost всегда помогут вам с инсталляцией PHP 8.0 и его расширений, окажут содействие в настройке различных версий PHP на вашем VPS.

Наш виртуальный хостинг уже поддерживает PHP 8. Приглашаем Вас бесплатно протестировать работу своего сайта на новой версии PHP. Смотреть тарифные планы.

Как установить PHP 8 в Ubuntu 20.04

PHP - один из наиболее широко используемых языков программирования на стороне сервера. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.

PHP 8.0 - это последняя крупная версия языка PHP. Он вводит несколько критических изменений, улучшений производительности и множество новых функций, таких как именованные аргументы, JIT-компилятор, типы объединения, выражение соответствия и многое другое.

На момент написания репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7.4. Мы установим PHP из репозитория ondrej / php PPA.

Перед обновлением или установкой PHP 8 убедитесь, что ваши приложения его поддерживают.

Те же шаги применимы для Ubuntu 18.04 и всех дистрибутивов на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.

Включение репозитория PHP

Ондржей Сури, разработчик Debian, поддерживает репозиторий, включающий несколько версий PHP. Чтобы включить репозиторий , запустите:

После включения PPA вы можете установить PHP 8.

Установка PHP 8.0 с Apache

Если вы используете Apache в качестве веб-сервера, вы можете запускать PHP как модуль Apache или PHP-FPM.

Установите PHP как модуль Apache

Установить PHP как модуль Apache - несложная задача:

После установки пакетов перезапустите Apache, чтобы модуль PHP загрузился:

Настройка Apache с помощью PHP-FPM

Php-FPM - это менеджер процессов FastCGI для PHP. Выполните следующую команду, чтобы установить необходимые пакеты:

По умолчанию PHP-FPM не включен в Apache. Чтобы включить его, запустите:

Чтобы активировать изменения, перезапустите Apache:

Установка PHP 8.0 с Nginx

Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.

Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:

После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите

Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:

Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:

Установка расширений PHP

Расширения PHP - это скомпилированные библиотеки, которые расширяют основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt :

Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:

После установки нового расширения PHP не забудьте перезапустить службу Apache или PHP FPM, в зависимости от ваших настроек.

Тестирование обработки PHP

Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри /var/www/html каталога со следующим кодом:

Вы увидите информацию о своей конфигурации PHP, подобную следующей:



Заключение

Установить PHP 8 на сервер Ubuntu 20.04 - несложная задача. Все, что вам нужно сделать, это включить репозиторий «ondrej / php» и установить PHP 8 с apt .

Читайте также: