Перейти к содержимому

Как обновить версию php ubuntu

  • автор:

Как обновить PHP 8.1 до PHP 8.2 на Ubuntu 22.04 с Nginx

PHP 8.2 — это значительное обновление языка PHP, содержащее множество новых функций и оптимизаций. Однако Ubuntu 22.04 LTS включает в свои официальные репозитории только PHP 8.1. В этом руководстве объясняется, как обновить PHP до версии 8.2 и настроить Nginx для его использования.

Предпосылки#

Существующий веб-сайт, работающий с Nginx и PHP 8.1 на сервере Ubuntu 22.04.

Просмотрите руководство по миграции в Руководстве по PHP, чтобы убедиться, что исходный код вашего веб-сайта совместим с PHP 8.2.

1. Список установленных пакетов PHP 8.1#

  1. Войдите на сервер как пользователь sudo без полномочий root через SSH.
  2. Перечислите все пакеты PHP 8.1, установленные в вашей системе.
$ dpkg -l | grep php8.1 

Вывод выглядит так.

ii php8.1-cli 8.1.3-4ubuntu2.6 amd64 command-line interpreter for the PHP scripting language ii php8.1-common 8.1.3-4ubuntu2.6 amd64 documentation, examples and common module for PHP ii php8.1-curl 8.1.3-4ubuntu2.6 amd64 CURL module for PHP ii php8.1-fpm 8.1.3-4ubuntu2.6 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary) ii php8.1-gd 8.1.3-4ubuntu2.6 amd64 GD module for PHP ii php8.1-json 8.1.3-4ubuntu2.6 amd64 JSON module for PHP ii php8.1-mbstring 8.1.3-4ubuntu2.6 amd64 MBSTRING module for PHP ii php8.1-mysql 8.1.3-4ubuntu2.6 amd64 MySQL module for PHP ii php8.1-opcache 8.1.3-4ubuntu2.6 amd64 Zend OpCache module for PHP 

Второй столбец содержит имена установленных пакетов.

  1. Передайте приведенный выше вывод командам cut , xargs и sed соответственно, чтобы сгенерировать список соответствующих пакетов PHP 8.2.
$ dpkg -l | grep php8.1 | cut -f3 -d' ' | xargs | sed 's/8.1/8.2/g' 

Результат выглядит следующим образом:

php8.2-cli php8.2-common php8.2-curl php8.2-fpm php8.2-gd php8.2-json php8.2-mbstring php8.2-mysql php8.2-opcache 

Используйте свой вывод при установке PHP 8.2.

  1. Сохраните список существующих модулей PHP-FPM 8.1 в файл:
$ php-fpm8.1 -m > ~/php-fpm8.1.modules 

Вы будете использовать этот файл, чтобы убедиться, что после обновления все модули отсутствуют.

2. Установите пакеты PHP 8.2#

Вы можете установить PHP 8.2 из репозитория ppa:ondrej/php, разработанного Ондржея Сури, который предоставляет последние стабильные версии PHP для систем Ubuntu и Debian.

  1. Добавьте репозиторий ppa:ondrej/php .
$ sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php 
  1. Обновите индекс пакета.
$ sudo apt update 
  1. Смоделируйте установку пакетов PHP 8.2, используя список, созданный в предыдущем разделе.
$ sudo apt --simulate install php8.2-

Если вы получаете такую ​​ошибку:

E: Пакет 'php8.2-json' не имеет кандидата на установку 

Это означает, что список пакетов содержит виртуальный пакет с именем php8.2-json .

Вам нужно повторно запустить команду моделирования, но на этот раз удалите виртуальный пакет php8.2-json из списка пакетов. Повторяйте до тех пор, пока в списке не останется виртуальных пакетов.

  1. Установите пакеты PHP 8.2 с уточненным списком. Обратите внимание, что команда установки не содержит опции —simulate .
$ sudo apt -y install php8.2-
  1. Сохраните список текущих модулей PHP-FPM 8.2 в файл.
$ php-fpm8.2 -m > ~/php-fpm8.2.modules 
  1. Сравните существующие модули PHP-FPM 8.1 с текущими модулями PHP-FPM 8.2.
$ diff ~/php-fpm8.1.modules ~/php-fpm8.2.modules 

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

  1. Убедитесь, что версия PHP по умолчанию в режиме командной строки — 8.2.
$ php -v 

3. Настройте Nginx#

Nginx и PHP-FPM 8.1 взаимодействуют друг с другом через сокет, созданный PHP-FPM 8.1. Поэтому, чтобы переключиться на PHP-FPM 8.2, вам нужно настроить новый сокет для PHP-FPM 8.2 и перенастроить Nginx с этим сокетом.

  1. Найдите сокет, созданный PHP-FPM 8.1, и файл конфигурации Nginx, который использует этот сокет.
$ sudo grep -R fastcgi_pass /etc/nginx/sites-enabled/ | grep -Ev '#\s+fastcgi_pass' 

Если это сокет Unix, вывод будет выглядеть так:

/etc/nginx/sites-enabled/default: fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 

Если это сокет TCP, вывод будет выглядеть так:

/etc/nginx/sites-enabled/default: fastcgi_pass 127.0.0.1:9000; 

В обоих случаях /etc/nginx/sites-enabled/default — это файл конфигурации Nginx, который вам нужно отредактировать, а /var/run/php/php8.1-fpm.sock или 127.0.0.1:9000 — это сокет.

У вас может быть другое имя файла или более одного имени файла. Замените default в следующей команде файлами, найденными в вашей системе.

  1. Создайте резервную папку для хранения файла конфигурации перед редактированием.
$ sudo mkdir /etc/nginx/sites-backup 
  1. Скопируйте все файлы конфигурации в резервную папку.
$ sudo cp -L /etc/nginx/sites-enabled/* /etc/nginx/sites-backup 
  1. Отредактируйте файл конфигурации, заменив старый сокет новым.
  • Если старым сокетом является /var/run/php/php8.1-fpm.sock , новым должен быть /var/run/php/php8.2-fpm.sock .
$ sudo sed -i --follow-symlinks \ 's|php8.1-fpm.sock|php8.2-fpm.sock|g' \ /etc/nginx/sites-enabled/default 
  • Если старый сокет — 127.0.0.1:9000, то новый должен быть 127.0.0.1:9001.
$ sudo sed -i --follow-symlinks \ 's|127.0.0.1:9000|127.0.0.1:9001|g' \ /etc/nginx/sites-enabled/default 
  1. Проверьте новую конфигурацию.
$ sudo nginx -t 

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

4. Настройте PHP 8.2#

  1. Удалите конфигурацию рабочего пула PHP 8.2 по умолчанию.
$ sudo rm /etc/php/8.2/fpm/pool.d/* 
  1. Скопируйте конфигурацию из PHP-FPM 8.1 в PHP-FPM 8.2.
$ sudo cp -rL /etc/php/8.1/fpm/pool.d/* /etc/php/8.2/fpm/pool.d/ 
  1. Найдите файл конфигурации, содержащий определение старого сокета.
  • Если старый сокет /var/run/php/php8.1-fpm.sock :
$ sudo grep -rl 'php8.1-fpm.sock' /etc/php/8.2/fpm/pool.d 
  • Если старый сокет 127.0.0.1:9000 :
$ sudo grep -rl '127.0.0.1:9000' /etc/php/8.2/fpm/pool.d 

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

/etc/php/8.2/fpm/pool.d/www.conf 
  1. Отредактируйте файл конфигурации, заменив старый сокет новым.
  • Если старый сокет /var/run/php/php8.1-fpm.sock :
$ sudo sed -i 's|php8.1-fpm.sock|php8.2-fpm.sock|g' /etc/php/8.2/fpm/pool.d/www.conf 
  • Если старый сокет 127.0.0.1:9000 :
$ sudo sed -i 's|127.0.0.1:9000|127.0.0.1:9001|g' /etc/php/8.2/fpm/pool.d/www.conf 
  1. Вам также может понадобиться настроить некоторые параметры в основном файле конфигурации PHP 8.2, чтобы они соответствовали требованиям вашего веб-сайта. Общие настройки для большинства веб-сайтов PHP:
max_execution_time memory_limit post_max_size upload_max_filesize date.timezone 

Вы можете найти необходимые настройки в основном файле конфигурации PHP 8.1 /etc/php/8.1/fpm/php.ini , а затем скопировать эти настройки в основной файл конфигурации PHP 8.2 /etc/php/8.2/fpm/php.ini .

  1. Проверьте новую конфигурацию.
$ sudo php-fpm8.2 -t 
  1. Перезагрузите службу PHP-FPM 8.2, чтобы применить изменения.
$ sudo systemctl reload php8.2-fpm.service 
  1. Перезагрузите службу Nginx, чтобы ваш сайт работал с PHP 8.2 вместо 8.1.
$ sudo systemctl reload nginx.service 
  1. Отключите службу PHP-FPM 8.1.
$ sudo systemctl disable --now php8.1-fpm.service 

5. Проверьте установку#

Откройте свой сайт в браузере. Протестируйте и убедитесь, что все функции работают должным образом.

Если вы решили удалить PHP 8.1, сделайте следующее:

  1. Удалите папку резервной копии Nginx.
$ sudo rm -fr /etc/nginx/sites-backup 
  1. Удалите все пакеты PHP 8.1.
$ sudo apt -y purge php8.1* 

Если вам понравился этот пост о том, как установить PHP 8.2 на Ubuntu 22.04, поделитесь им с друзьями в социальных сетях. Спасибо.

Как установить PHP 8.2 на Ubuntu 22.04 с Nginx или Apache

В этой статье мы рассмотрим этапы установки PHP 8.2 на Ubuntu 22.04|20.04|18.04. Версия PHP по умолчанию, доступная в репозиториях ОС, обычно старше последних официальных выпусков PHP. Репозитории программного обеспечения PPA (Personal Package Archive) для PHP позволяют вам устанавливать более новые версии PHP в вашей системе Ubuntu, которые недоступны в официальных репозиториях дистрибутива Linux.

Шаг 1: Обновите систему Ubuntu#

Проверьте наличие обновлений и установите их, прежде чем выполнять какие-либо другие действия.

sudo apt update && sudo apt -y upgrade 

Очистите кеш APT после обновления.

sudo apt autoremove 

Проверьте, требуется ли перезагрузка, и действуйте соответствующим образом.

[ -f /var/run/reboot-required ] && sudo reboot -f 

Сведения о выпуске ОС можно проверить с помощью приведенных здесь команд.

$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy 

Шаг 2: Добавьте репозиторий Surý PHP APT#

Чтобы установить пакеты PHP 8.2 в Ubuntu, мы будем использовать PHP PPA Ондржея Сури, который предоставляет последние стабильные версии PHP для систем Ubuntu и Debian.

Установите несколько пакетов зависимостей перед добавлением репо.

sudo apt update sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common 

Выполните следующие команды в своем терминале, чтобы добавить Surý PPA в вашу систему.

sudo add-apt-repository ppa:ondrej/php 

Ожидается успешное выполнение команды.

PPA publishes dbgsym, you may need to include 'main/debug' component Repository: 'deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu/ jammy main' Description: Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included. Only Supported Versions of PHP (http://php.net/supported-versions.php) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided. Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided. Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpa You can get more information about the packages at https://deb.sury.org IMPORTANT: The -backports is now required on older Ubuntu releases. BUGS&FEATURES: This PPA now has a issue tracker: https://deb.sury.org/#bug-reporting CAVEATS: 1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman 2. If you are using apache2, you are advised to add ppa:ondrej/apache2 3. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline or ppa:ondrej/nginx PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/ WARNING: add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround: # LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php More info: https://launchpad.net/~ondrej/+archive/ubuntu/php Adding repository. Press [ENTER] to continue or Ctrl-c to cancel. Adding deb entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.list Adding disabled deb-src entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.list Adding key to /etc/apt/trusted.gpg.d/ondrej-ubuntu-php.gpg with fingerprint 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C Hit:1 https://mirror.hetzner.com/ubuntu/packages jammy InRelease Hit:2 https://mirror.hetzner.com/ubuntu/packages jammy-updates InRelease Hit:3 https://mirror.hetzner.com/ubuntu/packages jammy-backports InRelease Hit:4 https://mirror.hetzner.com/ubuntu/security jammy-security InRelease Get:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease [23.9 kB] Get:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages [108 kB] Get:7 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main Translation-en [33.3 kB] Fetched 166 kB in 1s (120 kB/s) Reading package lists. Done 

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

$ sudo apt update Hit:1 https://mirror.hetzner.com/ubuntu/packages jammy InRelease Hit:2 https://mirror.hetzner.com/ubuntu/packages jammy-updates InRelease Hit:3 https://mirror.hetzner.com/ubuntu/packages jammy-backports InRelease Hit:4 https://mirror.hetzner.com/ubuntu/security jammy-security InRelease Hit:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease Reading package lists. Done Building dependency tree. Done Reading state information. Done 

Шаг 3: Установите PHP 8.2 на Ubuntu 22.04/20.04/18.04#

После добавления PPA используйте команду apt для установки PHP 8.2 и любых других связанных модулей PHP на сервере Ubuntu.

sudo apt install php8.2 

Примите установку пакета в соответствии с запросом через приглашение.

The following additional packages will be installed: apache2 apache2-bin apache2-data apache2-utils bzip2 file libapache2-mod-php8.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.3-0 mailcap mime-support php-common php8.2-cli php8.2-common php8.2-opcache php8.2-readline ssl-cert Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser bzip2-doc php-pear The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils bzip2 file libapache2-mod-php8.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.3-0 mailcap mime-support php-common php8.2 php8.2-cli php8.2-common php8.2-opcache php8.2-readline ssl-cert 0 upgraded, 21 newly installed, 0 to remove and 2 not upgraded. Need to get 6,990 kB of archives. After this operation, 29.8 MB of additional disk space will be used. Do you want to continue? [Y/n] y 

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

$ php -v 

Шаг 4: Установите модули PHP 8.2 в Ubuntu#

Модули PHP — это программные библиотеки, созданные для расширения функциональности PHP. Эти модули обычно написаны на C, и вы можете динамически загружать их в PHP или компилировать как общие объекты.

Если вы хотите установить модули PHP 8.2 в системе Ubuntu, используйте диспетчер пакетов apt с приведенным здесь синтаксисом команды:

sudo apt install -y php8.2-
  • заменяется фактическим именем устанавливаемого модуля.

В этом примере мы устанавливаем модуль fpm PHP 8.2 из добавленного ранее PPA.

$ sudo apt install php8.2-fpm Reading package lists. Done Building dependency tree. Done Reading state information. Done Suggested packages: php-pear The following NEW packages will be installed: php8.2-fpm 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Need to get 1,886 kB of archives. After this operation, 5,756 kB of additional disk space will be used. Get:1 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.2-fpm amd64 8.2.1-2+ubuntu22.04.1+deb.sury.org+1 [1,886 kB] Fetched 1,886 kB in 0s (5,211 kB/s) Selecting previously unselected package php8.2-fpm. (Reading database . 56412 files and directories currently installed.) Preparing to unpack . /php8.2-fpm_8.2.1-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb . Unpacking php8.2-fpm (8.2.1-2+ubuntu22.04.1+deb.sury.org+1) . Setting up php8.2-fpm (8.2.1-2+ubuntu22.04.1+deb.sury.org+1) . . 

Установка часто используемых модулей.

sudo apt install php8.2-

Список установленных модулей можно просмотреть командой:

$ php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dom exif FFI fileinfo filter ftp gd gettext hash iconv intl json ldap libxml mbstring mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_pgsql pgsql Phar posix readline Reflection session shmop SimpleXML soap sockets sodium SPL standard sysvmsg sysvsem sysvshm tokenizer xml xmlreader xmlwriter xsl Zend OPcache zip zlib [Zend Modules] Zend OPcache 

Шаг 5: Использование PHP с веб-сервером Nginx/Apache#

Мы рассмотрим конфигурации веб-серверов Nginx и Apache для размещения вашего PHP-приложения.

Размещение PHP-приложения на веб-сервере Nginx

В Nginx код PHP обычно выполняется отдельным процессом, например PHP-FPM (FastCGI Process Manager). PHP-FPM — это демон, который прослушивает входящие запросы PHP и запускает их в отдельном процессе. Nginx просто перенаправляет входящие запросы в PHP-FPM, где они выполняются.

Установите веб-сервер Nginx и расширение FPM.

sudo apt install nginx php8.2-fpm 

Откройте конфигурацию вашего сервера Nginx и добавьте следующий блок в блок http , чтобы настроить PHP-запросы, которые будут пересылаться для выполнения PHP-FPM:

$ sudo vim /etc/nginx/nginx.conf server < listen 80; server_name mysite.example.com; root /var/www/mysite; index index.php index.html; location ~ \.php$ < include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; >> 

Подтвердите, что конфигурация Nginx в порядке.

$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 

Размещение PHP-приложения на веб-сервере Apache

В Apache мы можем использовать встроенный модуль mod_php для обработки PHP-кода непосредственно в процессе Apache.

Но сначала вам нужно установить пакет веб-сервера Apache, PHP и расширение Apache PHP:

sudo apt install apache2 libapache2-mod-php8.2 

Включить модуль mod_php:

sudo a2enmod php8.2 

Перезапустите веб-сервер Apache после настройки.

sudo systemctl restart apache2 

Подведение итогов#

В заключение, установка PHP 8.2 в системе Ubuntu 22.04/20.04/18.04 Linux — это простой процесс. Мы начали с добавления PHP PPA Ондржея Сурого в исходники пакетов системы, что позволило нам установить PHP 8.2 и другие модули. Добавление стороннего PPA к рабочему серверу может привести к риску стабильности и безопасности, и их всегда следует использовать с осторожностью. Если вы выполняете обновление PHP, рассмотрите возможность резервного копирования важных файлов перед обновлением вашей системы на случай, если что-то пойдет не так в процессе обновления.

Если вам понравился этот пост о том, как установить PHP 8.2 на Ubuntu 22.04, поделитесь им с друзьями в социальных сетях. Спасибо.

Как установить/обновить PHP 8.1 в Ubuntu/Debian

Как установить/обновить PHP 8.1 в Ubuntu/Debian

PHP 8.1 уже выпущен с новыми функциями, улучшениями и устаревшими функциональными возможностями.

На сегодняшний момент ни один из текущих репозиториев программного обеспечения Ubuntu или Debian не предлагает PHP 8.1 в своих репозиториях программного обеспечения по умолчанию. Однако Ондржей Сури продолжает делать версии PHP доступными в виде репозитория программного обеспечения Debian/Ubuntu, и теперь доступны пакеты PHP 8.1.

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

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

Расширение Curl поддерживает DNS через HTTPS (DoH), начиная с PHP 8.1. Для этой функции требуется Curl версии 7.62 или более поздней, и она будет недоступна в более старых версиях Debian/Ubuntu, которые не включают в себя версию Curl более позднюю, чем 7.62. Например, эта функция будет недоступна в Ubuntu 18.04.

Изменения в директиве INI PHP 8.1

  • функции date_sunrise, date_sunset и соответствующие им настройки INI — устарели
  • настройки filter.default и filter.default_options INI — устарели
  • Директива auto_detect_line_endings INI — устарела

Итак, приступим к установке PHP 8.1.

1.Перечислите существующие пакеты PHP

При обновлении существующей версии PHP проще перечислить существующие расширения PHP, установленные как пакеты программного обеспечения, чтобы они соответствовали списку расширений PHP 8.1. В системах, которые устанавливают PHP 8.1 заново, этот шаг не требуется.

dpkg -l | grep php | tee packages.txt

Эта команда выводит список всех установленных пакетов PHP, отображает их на экране и сохраняет в файл с именем packages.txt в текущем рабочем каталоге.

2. Добавить PPA ondrej/php

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

sudo add-apt-repository ppa:ondrej/php # Press enter when prompted. sudo apt update
sudo apt install apt-transport-https lsb-release ca-certificates wget -y sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' sudo apt update

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

3. Установите PHP 8.1 и расширения

Все пакеты PHP 8.1 следуют шаблону php8.1-NAME. Дополнительные расширения (такие как GD, Curl и т. д.) могут быть установлены так же, в виде наименование программных пакетов (php8.1-gd, php8.1-curl и т. д.).

  • php8.1 — это мета-пакет , который коллективно устанавливает несколько зависимостей, таких, как php8.1-cli и php8.1-readline, а также некоторые вспомогательные пакеты.
  • php8.1-common — это также мета-пакет, который устанавливает большинство широко используемых расширений PHP за один раз. Он автоматически устанавливает пакет, например php8.1-pdo, php8.1-tokenizer и другие полезные расширения.
sudo apt install php8.1 php8.1-common php8.1-cli -y

Эта команда установит несколько расширений PHP — php8.1-common и CLI для PHP 8.1. После установки, можно проверить наличие установленных модулей, запустив:

php -v # Показать версию PHP . php -m # Показать установленные и загруженные модули PHP.

Вы можете установить дополнительные расширения по тому же шаблону php8.1-NAME. Обратитесь к файлу packages.txt, чтобы увидеть список существующих пакетов, если вы обновляете существующую систему. Обратите внимание, что начиная с PHP 8.0, расширение JSON входит в комплект и устанавливается неявно.

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

sudo apt install php8.1-

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

sudo apt install php8.1-pcov # PCOV code coverage tool sudo apt install php8.1-xdebug # Xdebug debugger

Внимание! Эти расширения не рекомендуется устанавливать на продакшн серверах.

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

Для использования Nginx, Litespeed и т.п. устанавливаем php8.1-fpm. Пакет обеспечивает интеграцию с PHP 8.1 через FPM:

sudo apt install php8.1-fpm

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

sudo apt install libapache2-mod-php8.1

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

4. Протестируйте установку PHP 8.1

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

php -v php -m
PHP 8.0.13 (cli) (built: Nov 22 2021 09:50:43) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.13, Copyright (c) Zend Technologies with Zend OPcache v8.0.13, Copyright (c), by Zend Technologies with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans 
[PHP Modules] apcu calendar Core ctype curl date dom exif FFI . [Zend Modules] Xdebug Zend OPcache

Очистить старые версии PHP

Если новая установка работает должным образом, вы можете удалить старые пакеты PHP из системы. Например, если вы используете PHP 8.0 в качестве предыдущей версии, сделать это можно с помощью команды (Осторожно! Не удаляйте старую версию, не убедившись, что ни одно из ваших приложений не использует эту версию):

sudo apt purge '^php8.0.*'

Запуск PHP 8.1 с другими версиями

Вместо удаления старых версий PHP можно также запускать несколько версий PHP параллельно. Команда update-alternatives обеспечивает простой способ переключения между версиями PHP для PHP CLI.

sudo update-alternatives --config php
Есть 5 вариантов для альтернативы php (предоставляет /usr/bin/php). Выбор Путь Приор Состояние ------------------------------------------------------------ 0 /usr/bin/php8.1 81 автоматический режим 1 /usr/bin/php7.2 72 ручной режим 2 /usr/bin/php7.3 73 ручной режим 3 /usr/bin/php7.4 74 ручной режим * 4 /usr/bin/php8.0 80 ручной режим 5 /usr/bin/php8.1 81 ручной режим 

Установка PHP на Ubuntu 22.04: Пошаговое руководство

PHP – это мощный и широко используемый язык программирования, специально разработанный для создания динамических веб-приложений. Если вы планируете разрабатывать веб-проекты на сервере Ubuntu, то установка PHP является первым важным шагом. Эта статья предоставит вам пошаговое руководство по установке PHP на Ubuntu.

Ubuntu – это один из наиболее популярных дистрибутивов Linux, и он обеспечивает простой и надежный способ создания веб-сервера с PHP под капотом. Мы покажем вам, как выполнить установку PHP, настроить дополнительные модули, и подготовить ваш сервер для создания динамических веб-приложений.

Продолжайте чтение, чтобы узнать, как установить PHP на Ubuntu 22.04 и начать создавать свои собственные веб-приложения.

Вступление

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

Шаг 1: Проверка доступных версий PHP

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

sudo apt show php

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

Шаг 2: Версия PHP по умолчанию в Ubuntu 22.04

С Ubuntu 22.04 по умолчанию используется PHP 8.1. Это означает, что если вы установите PHP, ваша система будет работать с этой версией. PHP 8.1 включает в себя множество новых функций и улучшений, что делает его отличным выбором для разработки веб-приложений.

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

Если вы хотите установить PHP 8.1, вам не потребуется дополнительных действий для изменения версии. Просто следуйте инструкциям для установки PHP, как указано в предыдущей части этой статьи.

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

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

PHP – это популярный язык программирования, который широко используется для создания веб-приложений. Установка PHP на Ubuntu – это относительно простой процесс, который мы разберем шаг за шагом.

Шаг 1: Обновление пакетов

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

sudo apt update

Эта команда обновит информацию о доступных пакетах и их версиях.

Шаг 2: Установка PHP

В Ubuntu существует несколько версий PHP, и вы можете выбрать ту, которая лучше всего подходит вашим нуждам. Версии PHP можно установить с помощью команды apt . Например, для установки PHP 7.4 можно выполнить следующую команду:

sudo apt install php

Шаг 3: Установка дополнительных модулей

PHP часто используется в комбинации с различными модулями и расширениями. В зависимости от ваших потребностей, вам, возможно, понадобится установить дополнительные модули. Например, для работы с базами данных MySQL вы можете установить расширение php-mysql :

sudo apt install php-mysql

Шаг 4: Проверка установки PHP

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

php -v

Вы увидите информацию о версии PHP и доступных модулях.

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

Ранее мы уже рассматривали установку lamp (веб-сервер Apache + PHP + MySQL) и lemp (веб-сервер Nginx + PHP + MySQL) стеков на Ubuntu 22.04.

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

Понижение версии PHP (Установка более старых версий) в Ubuntu 22.04

На данный момент стандартные репозитории Ubuntu поддерживает только PHP 8.1, однако иногда бывает необходимо установить более старую версию PHP, особенно если ваше приложение или веб-сайт требует совместимости с конкретной версией PHP. В Ubuntu это можно сделать, добавив репозиторий PPA и устанавливая нужную версию. Ниже приведены шаги для установки более старой версии PHP, такой как 7.4:

Шаг 1: Установка зависимостей

Прежде чем добавить PPA репозиторий и установить старую версию PHP, убедитесь, что у вас установлены необходимые зависимости. Вы можете установить их с помощью следующей команды:

sudo apt-get install software-properties-common

Эта команда установит python-software-properties , который необходим для работы с PPA репозиториями.

Шаг 2: Добавление PPA репозитория

Чтобы добавить PPA репозиторий с желаемой версией PHP (например, PHP 7.4), выполните следующую команду:

sudo add-apt-repository ppa:ondrej/php

Это добавит репозиторий ondrej/php к вашей системе.

Шаг 3: Установка старой версии PHP

Теперь, после добавления PPA, вы можете установить желаемую версию PHP. Например, для установки PHP 7.4 выполните следующую команду:

sudo apt install php7.4

Эта команда установит PHP 7.4 на вашем сервере Ubuntu.

Шаг 4: Проверка установленной версии PHP

После установки вы можете проверить, что установленная версия PHP соответствует вашим ожиданиям, выполнив команду:

php -v

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

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

Выбор версии PHP по умолчанию

Если на вашем сервере Ubuntu установлено несколько версий PHP, возможно, вам потребуется выбрать одну из них в качестве версии по умолчанию. Для этого используется утилита update-alternatives . Вот как это сделать:

Шаг 1: Просмотр доступных версий PHP

Сначала давайте посмотрим, какие версии PHP у вас установлены и доступны для выбора:

sudo update-alternatives --config php

Эта команда отобразит список доступных версий PHP и попросит вас выбрать номер версии, которую вы хотели бы использовать по умолчанию. Выберите номер версии, которую вы предпочитаете, и запомните его.

Шаг 2: Установка версии PHP по умолчанию

Чтобы установить выбранную версию PHP по умолчанию, выполните следующую команду, заменяя php7.4 на выбранную вами версию:

sudo update-alternatives --set php /usr/bin/php7.4

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

Шаг 3: Обновление Apache (если используется)

Если вы используете веб-сервер Apache, не забудьте обновить модуль PHP, чтобы он соответствовал вашей выбранной версии. Например, чтобы отключить PHP 8.1 и включить PHP 7.4, выполните следующие команды:

sudo a2dismod php8.1 sudo a2enmod php7.4

Эти команды отключат модуль PHP 8.1 и включат модуль PHP 7.4 для Apache.

Шаг 4: Перезагрузка веб-сервера

Для того чтобы изменения вступили в силу, перезагрузите веб-сервер Apache:

sudo systemctl restart apache2

Теперь выбранная вами версия PHP будет использоваться по умолчанию на вашем сервере Ubuntu, и все ваши веб-приложения будут работать с этой версией.

Заключение

Установка PHP на Ubuntu – важный этап для создания и развития веб-приложений. В этой статье мы рассмотрели ключевые шаги по установке PHP на вашем сервере Ubuntu, начиная с проверки доступных версий в репозитории и заканчивая выбором версии по умолчанию. Мы также обсудили, как установить более старые версии PHP, если это необходимо для ваших проектов.

Имейте в виду, что выбор версии PHP зависит от конкретных требований вашего приложения, поэтому внимательно анализируйте, какая версия наиболее подходит для ваших задач.

С установкой и настройкой PHP на Ubuntu вы можете начать создание мощных веб-приложений и динамических сайтов. Не забудьте также настроить веб-сервер (например, Apache или Nginx) для совместной работы с PHP и следите за обновлениями и безопасностью вашей системы. Надеемся, что это руководство поможет вам успешно установить и настроить PHP на вашем сервере Ubuntu.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *