Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11 Хостинг

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

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

23 января 2023

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

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

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Изображение от Freepik.

При установке PHP из стандартного репозитория CentOS устанавливается PHP v.7.2. Её возможностей достаточно для решения большинства задач, но если вам нужна более свежая версия PHP, мы расскажем, как обновить её.

Устанавливать новые версии PHP мы будем из репозитория remi. Это сторонний репозиторий, который содержит последние версии PHP, Apache, MySQL и многих других приложений, но в данном случае нас будет интересовать только PHP.

В вашей системе, если вы установили несколько версий PHP (например, PHP 8.1, 8.0, 7.4, 7.3, 7.2, 7.1 и 5.6), только одна работает как PHP версия в Apache2 по умолчанию. Однако, если для текущей задачи вам нужно использовать специфическую версию PHP, не нужно удалять все прочие версии. Вы можете просто переключить версию PHP на используемую по умолчанию в Apache.

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

Включить PHP 8. 1 в качестве версии по умолчанию

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

sudo a2dismod php7.4 php5.6

Теперь включите модуль PHP 8.1 и перезапустите Apache2.

sudo a2enmod php8.1
sudo service apache2 restart

Включить PHP 7. 4 в качестве версии по умолчанию

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

Выполните следующие команды, чтобы отключить для Apache другие версии PHP.

sudo a2dismod php8.1 php5.6

Теперь включите модуль PHP 7.4 и перезапустите Apache2.

sudo a2enmod php7.4
sudo service apache2 restart

Разработчики PHP больше не поддерживают PHP 5.6 и настоятельно рекомендуют перейти на более позднюю версию PHP, например 7.4 или 8.1. Но вы все же можете установить и использовать PHP 5.6 в своей системе Debian, если вашему приложению требуется такая старая версия.

Выполните следующие команды, чтобы отключить другие версии PHP, такие как php 8.1, php7.4 и т. д.

sudo a2dismod php7.4 php8.1 php8.0

sudo a2enmod php5.6
sudo service apache2 restart

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

Недавно на старом Debian сервере обновлял GLPI с версии 9.3 до 9.5. В процессе апгрейда выяснилось, что надо обновлять и версию PHP, иначе GLPI ругался:

Далее, я пробежался по следующей инструкции How To Install PHP 7.4 / 7.3 / 7.2 / 7.1 on Debian 10 / Debian 9. Все команды выполняю от root

apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

Добавляем репозитарий и ключи

Обновляем список пакетов

Устанавливаем PHP версии 7.4, последнюю на данный момент

apt install -y php7.4 php7.4-cli php7.4-common

Устанавливаем эту версию по умолчанию

update-alternatives —set php /usr/bin/php7.4 php -v

Перегружаем Apache, хотя этого не требовалось

service apache2 reload

Однако, GLPI всё ещё продолжал ругаться, что ему нужен PHP 7.2 и старше, а значит надо включить эту версию в Apache и отключить старую. Поэтому в конце обязательно надо сделать:

a2enmod php7.4
a2dismod php7.0
service apache2 reload

Ну и вот вся история по установке PHP 7.4. Отдельно для GLPI потребуются многие расширения php, поэтому можете установить их разом с помощью

apt install libapache2-mod-php7.4 php7.4-bcmath php7.4-bz2 php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xmlrpc php7.4-zip

Ну и в конце подчистить с помощью

Если помог, оставляйте ваши спасибо в комментариях 🙂

Отблагдарить автора статьи также можно переводом, +100 вам в карму!

apt debian glpi linux php php7.4 ubuntu

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

Если вам нужна именно 8+ версия, лучше обновить дитстрибутив до версии Debian 11(bullseye)  или хотя бы Debian 10 (buster), иначе на Debian 9 вам придется довольствоваться PHP 5.6, максимум PHP 7.4.

Рекомендую выполнять любую установку в обновленной системе Debian. Запустите предоставленные команды, чтобы обновить все пакеты и дополнительный выпуск вашей системы Debian.

sudo apt update
sudo apt -y upgrade

Проверьте версию операционной системы:

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

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

Добавьте репозиторий Surý APT в Debian

Репозиторий DEB.SURY.ORG хранит различный софт под дистрибутивы Linux на основе Debian и Ubuntu. Он содержит последние бинарные сборки PHP 8.1 на Debian. Репозиторий не входит в список стандартных, его необходимо добавить в систему вручную.

Установите необходимые временные пакеты

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

Добавьте репозиторий Surý Debian PPA в свою систему

Импортируйте ключ GPG

Убедитесь, что репозиторий работает, загрузив информацию о пакете из всех настроенных источников

Если ошибок и конфликтов, связанных с Surý  не нашлось, можно двигаться дальше

Установите PHP 8. 1 на Debian

После того, как вы добавили репозиторий и подтвердили его работоспособность, можно приступать к установке системы PHP 8.1 или Debian 11 или 10.

sudo apt update
sudo apt install php8.1

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

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

После успешной установки можно проверить версию PHP:

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Установите расширения PHP 8

Модули PHP 8.1 можно установить как пакеты, используя следующий синтаксис команды:

sudo apt install php8.1-mysql

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

На середине установки согласитесь, нажав Y или Д:

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

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

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Если у вас установлено несколько версий php в системе, то при вызове команды php в консоли, будет использоваться одна из них. Иногда необходимо для каких-то скриптов или сервисов управлять версией php в консоли. Я расскажу, как ее изменить.

Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.

Читайте также:  DragonHost обзор 2022. dragonhost.es хозяин Испания?

У меня на сервере Debian установлены 2 версии php — 5.6 и 7.0. Для начала проверим, какая версия используется в данный момент:

Посмотрим, где располагается сам бинарник php:

# which php
/usr/bin/php

Оказывается, что /usr/bin/php является символьной ссылкой. Посмотрим, куда она ведет:

Это еще одна символьная ссылка. Смотрим, куда ведет она:

На седьмую версию php. Заменим ее на 5.6, которая у меня установлена по адресу /usr/local/bin/php. Редактируем символьную ссылку:

# ln -f -s /usr/local/bin/php /etc/alternatives/php

Проверяем текущую версию php в консоли:

Все получилось. Теперь в консоли по-умолчанию будет использоваться нужная версия php. Можно проверять скрипты, не указывая полный путь к нужной версии.

Можно было поступить и по-другому. При вызове php в консоли, имя проверяется в переменной $PATH. Посмотреть ее значения можно командой:

Директории проверяются в том порядке, как они перечислены. Где будет найдено первое совпадение, тот файл и будет использоваться. В моем случае директория /usr/bin, где жила символьная ссылка на php7.0 стоит раньше, чем /usr/local/bin, где расположена php5.6. Можно было просто поменять местами эти директории в PATH и версия по-умолчанию станет 5.6, так как ее бинарник php будет найден раньше.

Более гибко управлять версиями php в системе можно с помощью программы update-alternatives. Она может делать в том числе и то, что мы сейчас проделали, только автоматически, в зависимости от своих настроек. С ее помощью можно более гибко управлять версиями, задавать приоритеты использования той или иной версии, быстро их переключать в полуавтоматическом режиме.

Мне все это не надо, поэтому не стал сильно разбираться с ее работой, только познакомился с возможностями. Рассказываю о ней в качестве наводки для тех, кому захочется более подробно разобраться в этой теме. Она может быть актуальна, если у вас установлена какая-нибудь панель управления хостингом с разными версиями php. Например — plesk.

Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.

Как узнать версию PHP на хостинге

Для того, чтобы узнать версию PHP с которой работает Ваш сайт, необходимо в корневой директории сайта создать файл с названием info.php и внести в него следующий код:

Теперь при переходе на страницу /info.php мы увидим все настройки php, в том числе и его версию. Пример http://dtest.com/info.php

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Где находятся настройки версий PHP в ISPmanager

С панелью ISPmanager Вы можете использовать общую версию PHP и её настройки будут установлены для всех доменов. Когда вы добавляете домен в панели управления ISPmanager, для него по умолчанию включается поддержка PHP для домена. Версия и возможность включения находятся в настройках www-домена:

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Как сменить версию PHP

Смена версии PHP для Модуль Apache

Как видим, у нас неактивен пункт выбора версии при переходе к настройкам www-домена. Это связано с режимом работы PHP, на примере у нас режим «Модуль Apache». Версия PHP для Apache изменяется в разделе «Настройки web-сервера — PHP». Достаточно выбрать версию и нажать зеленую кнопку, версия тут же сменится:

Мы проверили режим работы, сменили версию PHP для mod_php, но как быть с другими режимами?

В режиме CGI версию можно сменить прямо в настройках домена:

Версия PHP изменилась, как видим.

Переключение версии на FCGI

Смена версии PHP в режиме FCGI доступна для владельцев тарифа вирт. хостинга для Битрикс, а также обладателям VPS с панелью управления.

Смена версии FCGI для PHP на услуге вирт. хостинга

Здесь всё просто, действуем так же, как и со сменой версии для «Модуль Apache».

Единственное отличие — кнопки переключения называются по-разному:

Версия PHP для FCGI изменена.

Смена версии PHP для FCGI на VPS

Смена версии PHP для FCGI на VPS несколько отличается от остальных вариантов смены версии.

Будет доступен пункт Версия PHP(PHP-FPM), выберите нужную версию и сохраните настройки.

Как выбрать версию PHP при работе в командной строке (SSH)

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

На виртуальном хостинге

/opt/alt/php52/usr/bin/php — PHP 5.2/opt/alt/php53/usr/bin/php — PHP 5.3/opt/alt/php54/usr/bin/php — PHP 5.4/opt/alt/php55/usr/bin/php — PHP 5.5/opt/alt/php56/usr/bin/php — PHP 5.6/opt/alt/php70/usr/bin/php — PHP 7.0/opt/alt/php71/usr/bin/php — PHP 7.1/opt/alt/php72/usr/bin/php — PHP 7.2/opt/alt/php73/usr/bin/php — PHP 7.3/opt/alt/php74/usr/bin/php — PHP 7.4

На VPS сервере

/opt/php52/bin/php — PHP 5.2/opt/php53/bin/php — PHP 5.3/opt/php54/bin/php — PHP 5.4/opt/php55/bin/php — PHP 5.5/opt/php56/bin/php — PHP 5.6/opt/php70/bin/php — PHP 7.0/opt/php71/bin/php — PHP 7.1/opt/php72/bin/php — PHP 7.2/opt/php73/bin/php — PHP 7.3/opt/php74/bin/php — PHP 7.4

Отключена поддержка PHP в ISPmanager

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

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

Как включить поддержку PHP в ISPmanager:

Войдите в панель управления хостингом и перейдите в раздел WWW-домены, два раза кликните по имени вашего домена:

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

Готово! PHP страницы впредь будут обработаны и выведены на экран должным образом.

Необходимо выполнить следующие действия:

  • В контрольной панели выберите нужный сервер и откройте консоль.
  • Добавьте репозитории Remi и Epel для CentOS 7, выполнив команды:rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    yum -y install epel-release
  • Удалите или закомментируйте (т.е. поставьте спецсимвол перед нужной строкой, в этом случае — #) подключение текущего модуля PHP для apache. Для этого в файловом менеджере откройте файл domains.conf на редактирование (путь: /etc/httpd/conf.d/domains.conf) и закомментируйте или удалите строку: LoadModule php5_module modules/libphp5.so
    Чтобы она выглядела так: #LoadModule php5_module modules/libphp5.so
    Либо выполните в консоли команду:sed -i «s/LoadModule/#LoadModule/g» /etc/httpd/conf.d/domains.conf
  • Теперь установите PHP 7.*. Для установки PHP 7.1 в консоли выполните команду:yum —enablerepo=remi-php71 -y install php71-php-cli php71-php-pear php71-php-fpm php71-php-pecl-mcrypt php71-php-bcmath php71-runtime php71-php-common php71-php-pdo php71-php-process php71-php-mysqlnd php71-php php71-php-opcache php71-php-gmp php71-php-gd php71-php-mbstring php71-php-json php71-php-xml php71-php-pecl-imagick php71-php-intl php71
    Для установки PHP 7.2:yum —enablerepo=remi-php72 -y install php72-php-cli php72-php-pear php72-php-fpm php72-php-pecl-mcrypt php72-php-bcmath php72-runtime php72-php-common php72-php-pdo php72-php-process php72-php-mysqlnd php72-php php72-php-opcache php72-php-gmp php72-php-gd php72-php-mbstring php72-php-json php72-php-xml php72-php-pecl-imagick php72-php-intl php72
    Для установки PHP 7.3:yum —enablerepo=remi-php73 -y install php73-php-cli php73-php-pear php73-php-fpm php73-php-pecl-mcrypt php73-php-bcmath php73-runtime php73-php-common php73-php-pdo php73-php-process php73-php-mysqlnd php73-php php73-php-opcache php73-php-gmp php73-php-gd php73-php-mbstring php73-php-json php73-php-xml php73-php-pecl-imagick php73-php-intl php73
  • После завершения установки перезагрузите веб-сервер apache, выполнив команду: systemctl restart httpd
  • Для проверки версии PHP используйте команду: php(номер версии) -v
    php71 -v
    php72 -v
    php73 -v
    Вы получите следующий вывод:

Конфигурационный файл php.ini, в котором можно редактировать параметры PHP, находится по данному пути: /etc/opt/remi/php(номер версии)/php.ini

Рекомендуем сразу включить использование short_open_tag (это необходимо для работы сайта, в коде которого часто используются короткие теги). Для этого откройте конфигурационный файл php.ini для нужной вам версии PHP, найдите параметр short_open_tag и поставьте значение On. После этого сохраните изменения, чтобы строка выглядела так:

short_open_tag = on

В консоли сделать это можно следующим образом:

sed -i «s/short_open_tag = Off/short_open_tag = on/g» /etc/opt/remi/php(номер версии)/php.ini

После редактирования параметров PHP и изменения значений перезагрузите веб-сервер apache командой:

systemctl restart httpd

Для установки модуля ionCube Loader для PHP из репозитория Remi выполните следующую команду:

yum -y install php(номер версии)-php-ioncube-loader.x86_64

yum -y install php71-php-ioncube-loader.x86_64
yum -y install php72-php-ioncube-loader.x86_64
yum -y install php73-php-ioncube-loader.x86_64

После установки перезагрузите веб-сервер apache командой:

В данной статье мы расскажем, как обновить версию PHP на виртуальном или выделенном сервере ( VPS, VDS, DS ) под управлением самой популярной операционной системы для веб серверов, ОС CentOS.

Читайте также:  Бесплатный облачный PHP-MySQL хостинг для небольшого сайта на основе Amazon AWS / Хабр

Предостережения. Сразу хотим предупредить Вас, многие популярные движки требовательны к версиям PHP и набору модулей. Поэтому, перед обновлением PHP на сервере, проверьте совместимость Ваших CMS с новой версией PHP. Обычно эту информацию можно найти на официальных сайтах разработчиков. Некоторые модули могут быть недоступны на более новых версиях PHP. Например Zend Optimizer работает только с версиями php до 5.2, на версии PHP 5.3 используется его аналог, Zend Guard Loader. При этом, если скрипт закодирован с помощью Zend Optimizer, Zend Guard этот скрипт обработать не сможет.

Подключитесь к Вашему серверу по SSH от имени суперпользователя root или другого пользователя с аналогичными привилегиями. Проверка текущих версий. В первую очередь проверим текущую версию PHP и список модулей. Чтобы узнать версию PHP используйте команду :

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

Обновление PHP. Для обновления версии PHP, подключитесь к серверу по SSH и используйте следующую команду :

yum update php

Возможно Вам повезет, и yum сразу предложит Вам обновление до нужно версии PHP, но это вряд ли. Скорее всего Вы получите такой ответ :

“No packages marked for update”

Значит нужно добавить репозиторий. Репозиторий – специальное удаленное хранилище, из которого будет установлен пакет. Рассмотрим процесс добавления репозитория и обновления PHP более подробно. Для обновления PHP используйте репозитории epel и remi. Эти репозитории проверенны годами верной работы администраторам виртуальных и выделенных серверов на Unix подобных системах. Из сторонних репозиториев устанавливать пакеты не рекомендуем. Выполнить установку репозитория epel можно такой командой :

yum install epel-release

Чтобы добавить репозиторий remi на CentOS 6 используйте следующие команды :

sudo rpm -Uvh remi-release-6*.rpm

Для установки репозитория remi на CentOS 7 используйте такие команды :

sudo rpm -Uvh remi-release-7*.rpm

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

yum update – -enablerepo=remi php

Если Вам нужно обновление до версии 5.5, используйте команду :

yum update –enablerepo=remi-php55 php

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

yum update –enablerepo=remi-php56 php

Для обновления до новой ветки PHP 7 используйте такую команду :

yum update –enablerepo=remi-php70

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

service httpd restart

Если на Вашем сервере нет httpd – скорее всего работает связка Nginx + PHP-FPM, тогда перезагрузите PHP-FPM :

service php-fpm restart

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

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

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

Обновление PHP до 7. 2 на CentOS 7

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

rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpmyum -y install epel-release yum-utilsyum remove php*yum-config-manager –enable remi-php72yum install php php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-common php-fpm php-pdo php-mysqlnd php-imap php-embedded php-ldap php-odbc php-zip php-fileinfo php-process php-opcachesystemctl restart httpd

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

Чтобы обновить PHP, на операционной системе Ubuntu на ядре Linux должна стоять старая версия — PHP 5. В случае использования Apache применяется модуль mod_php, для Nginx — PHP-FPM.

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

Добавление пакетов PPA

В первую очередь необходимо добавить персональные пакеты архивов (PPA) — пакеты, обычно создающиеся в серверах-хранилищах (репозиториях). Найти бета-версии и модифицированные сборки можно на сайте launchpad.net. PPA для последней версии PHP можно найти у пользователя Ondřej Surý.

sudo apt-get install software-properties-common python-software-properties

После авторизации в системе добавьте пакеты в APT-утилиты ОС с помощью команды:

sudo add-apt-repository ppa:ondrej/php

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Далее, чтобы установка новой версии PHP прошла без проблем, необходимо обновить кэш локального пакета через sudo apt-get update

Перед установкой обновляются все старые пакеты, исключая php5-mysql, который будет удален. Все пользователи MySQL должны повторно добавить двухсторонние биндинги PHP:

sudo apt-get install php7.0-mysql

Установка PHP производится с помощью команды:

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

Обновление PHP-FPM для Nginx

Для начала устанавливается новый пакет PHP-FPM командой

sudo apt-get install php7.0-fpm

В случае с MySQL необходимо повторить ту же операцию, что и пользователям Apache — обновить биндинги.

Пути сокетов у Nginx

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

  • Выходим из редактора и сохраняем файл. Эту процедуру необходимо провести для всех виртуальных серверов, которые располагаются в директории
  • После завершения операции сервер перезагружается командой sudo service nginx restart

Проверить PHP можно с помощью тестового файла, который нужно будет открыть или создать, если его нет. Для его создания подойдет редактор nano или любой другой. Открываем файл info.php в корневом каталоге.

Путь в Apache:

sudo nano /var/www/html/info.php

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

Если что-то работает некорректно, необходимо убедиться в правильности действий. Например, обновление в панели Vesta требует предварительного ввода следующей команды:

# git clone https://github.com/petranikin/mgrvphp.git 

# cd mgrvphp

# bash mgrvphp

А уже потом ввести версию PHP для начала процесса.

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

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

В результате на экране появится номер активной версии PHP.

Если вы настраивали сервер по нашей инструкции и выполнили все шаги, то проверить версию PHP можно, запустив скрипт phpinfo на своём сервере. В этом случае результат можно будет посмотреть в браузере:

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Перед установкой новой версии PHP на Debian необходимо обновить все текущее программное обеспечение. Сделать это можно с помощью команд:

sudo apt-get update

sudo apt-get upgrade

Как и с предыдущими случаями, в первую очередь необходимо включить PPA. Чтобы сделать это, импортировав ключ подписи, используем команду:

Если после этого выявляется, что в системе не хватает некоторых важных пакетов, их необходимо добавить с помощью sudo apt-get install ca-certificates apt-transport-https

Чтобы начать установку PHP, запустите процесс командой:

apt-y install php php-common

Проверить установленную версию можно через

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Upgrade or Install PHP 8. 2 on Debian running Apache2

This tutorial shows how to install or upgrade PHP 8.2 quick and easy for Apache web server running on Debian 9 or Debian 10 and Debian 11. PHP is the widely used server scripting language for dynamic and interactive websites and content management systems.

5 steps to perform PHP 8.2 for Apache2 on Debian.

Updating Debian as root

$ su —
$ apt update
$ apt upgrade -y && reboot

Add SURY PHP PPA Repository

SURY is a third-party repository that offers current PHP versions for Debian GNU/Linux, which is added as root.

Installing PHP 8. 2 on Debian

$ apt update
$ apt -y install php8.2
$ update-alternatives —set php /usr/bin/php8.2

Install Important Modules for PHP 8. 2 on Debian

$ apt -y install php8.2-cli php8.2-curl php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-xml php8.2-xsl php8.2-zip php8.2-bz2

Making PHP 8. 2 module for Apache available

$ apt -y install libapache2-mod-php8.2
$ systemctl reload apache2

Finish! the installation is done. If you want to know which installed PHP version and modules are actually available, the next section shows.

Check the current PHP version

Save the file as phpinfo.php in the “/html” directory. Then open the newly created .php-file in a web browser.

Читайте также:  Qemu-agent installation

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

The system-wide PHP settings can be found under the path /etc/php, for modification using Apache 2 edit the php.ini file.

$ vi /etc/php/8.2/apache2/php.ini

If you do not see the installed php version, may the apache php module need to change to the desired version, run the apache helper command in the terminal, replace the version you have instead, like here php.7.4 in this example.

$ a2dismod php7.4
$ a2enmod php8.2
$ systemctl restart apache2

Verify the running php module with view the phpinfo.php from the web browser.

The PHP modules available for Apache 2 can find in the Apache web server path under /etc/apache2/mods-available

$ ll /etc/apache2/mods-available/php*
-rw-r—r— 1 root root 855 Jul 5 2020 /etc/apache2/mods-available/php7.3.conf
-rw-r—r— 1 root root 102 Jul 5 2020 /etc/apache2/mods-available/php7.3.load
-rw-r—r— 1 root root 855 Dec 20 22:32 /etc/apache2/mods-available/php7.4.conf
-rw-r—r— 1 root root 102 Dec 20 22:32 /etc/apache2/mods-available/php7.4.load
-rw-r—r— 1 root root 855 Dec 20 22:32 /etc/apache2/mods-available/php8.2.conf
-rw-r—r— 1 root root 101 Dec 20 22:32 /etc/apache2/mods-available/php8.2.load

Disable an Apache 2 module with a2dismod, use a2enmod to enable. The apt info command provides information about module information.

$ apt info libapache2-mod-php8.2

Как выбрать версию PHP через консоль

При работе в консоли используйте указанные пути до обработчиков ПХП для запуска скриптов под различными версиями.

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

WordPress

Для WordPress обновление PHP требуется по упомянутым ранее причинам. Если вдруг желания обновлять его нет, следует помнить, что платформа хорошо работает даже с версией 5.6.20, то есть располагает отличной обратной совместимостью. Поэтому, нужно ли обновлять PHP, нужно решать индивидуально.

Что сделать перед обновлением

  • Резервное копирование сайта, обеспечивающее возможность возврата на старую версию без потерь.
  • , тем и плагинов — рекомендуется делать регулярно, потом стоит проверить корректную работу сайта.
  • Проверка совместимости с PHP — для этого можно использовать плагин PHP Compatibility Checker

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

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

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Попросить обновить версию PHP в WordPress можно с помощью обращения, которое предлагает служба поддержки платформы.

VPS или сервер

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

sudo apt-get upgrade

sudo apt-get dist-upgrade

Для версии 5.6 достаточно использовать sudo apt-get install php5 и после перезапустить сервер.

Для исправной работы версии PHP 7, как и в случае с инструкцией для Ubuntu, потребуется дополнительно обновить mod_php для Apache и PHP-FPM для Nginx соответственно. Порядок действий для этого представлен выше.

Для CentOS 7 инструкция несколько отличается:

  • В первую очередь необходимо добавить репозиторий EPEL с помощью команды yum install epel-release
  • После этого пользуемся комбинацией rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm, и только после этого обновляем PHP через команду yum install php70w.

Обновление PHP через панель управления

Мы покажем, как это сделать, на примере ispmanager, Plesk и cPanel.

Обратите внимание, виртуальный хостинг в «Евробайт» предоставляется с панелью ispmanager. Она легкая в управлении даже для начинающих вебмастеров. Еще один плюс — множество понятных инструкций.

Ispmanager

  • Перейдите в панель управления.
  • Выберите сайт, на котором хотите обновить ПХП, и нажмите «Изменить».
  • Найдите пункт «PHP» и выберите необходимую версию. На момент написания статьи самая актуальная — 8.1.8. Нажмите на кнопку «Ок».

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

CPanel

  • Откройте панель управления хостингом.
  • Нажмите на сайт, на котором планируете активировать новую версию, и выберите действие «Изменить».
  • Найдите необходимую для работы версию и нажмите «Изменить».

Plesk

  • Перейдите в раздел «Сайты и домены».
  • Выберите нужный сайт и перейдите в «Настройки PHP».
  • Выберите актуальную версию и примените изменения.

Битрикс

Чтобы обновить PHP в веб-окружении Битрикс, необходимо:

  • Чтобы попасть в меню, подключаемся к серверу по SSH через пользователя с root-правами. Выбираем пункт 1. Manage servers in the pool
  • В следующем списке нажимаем на 8. Update PHP and MySQL
  • Update PHP to version 7.1 и подтверждаем действие, введя «y» («yes»).
  • Меню отразит задание и его идентификатор, а также статус выполнения.
  • Чтобы узнать, завершен ли процесс, в основном меню нажимаем 10. Background pool tasks. Должна появиться строка с

После любого обновления некоторые приложения могут перестать работать. Это связано с их версией выпуска. Если они запущены в Marketplace после лета 2016 года, то никаких проблем не возникнет. Более ранние версии имеют другие механизмы защиты, которых может оказаться недостаточно для работы с обновленным PHP.

Зачем нужно обновлять PHP

Многие веб-приложения работают, начиная с определенной версии ПХП. Например, для создания сайта на CMS WordPress рекомендуется хостинг, который поддерживает ПХП 7.4 или выше, а для Joomla! 4.x рекомендуется PHP 8.0. Если на хостинге по умолчанию выбрана другая версия, может потребоваться обновление.

Обновление для популярных CMS

Обновление PHP для CMS площадок обуславливается двумя факторами.

  • Увеличением скорости работы. По сравнению со старыми версиями новая будет работать в 3-4 раза быстрее, что позволяет повысить ранжирование сайта в поиске;
  • Снижаются риски взлома, причинения ущерба репутации сайта.

Joomla

Для повышения безопасности сайта любая CMS будет рекомендовать обновить PHP. Так, например, в справке Joomla будет написано: «Проект Joomla рекомендует обновить ваш сайт до версии PHP 7.1 или более поздней версии».

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

Самый простой способ обновить версию PHP — обратиться в поддержку хостинга. Зачастую они это делают бесплатно и достаточно быстро. Если же хочется сделать все самому, достаточно перейти в панель управления и начать процедуру в настройках на хостинге.

Остальные способы представлены ниже.

Чтобы обновить все таким образом, достаточно создать новый файл в корневом каталоге сайта или отредактировать существующий. Необходимо добавить только одну строчку.

AddHandler application/x-httpd-php56 .php .php5 .php4 .php3

AddHandler application/x-httpd-php70 .php .php5 .php4 .php3

# Обновление версии php

Чтобы обновить версию php, отключим текущую:

Она выведет на экран список доступных для установки модулей. Результат выдачи будет примерно таким:

Выберем из списка нужный модуль и активируем его:

Теперь осталось только обновить версию:

После завершения обновления можно проверить версию теми же способами: использовать консоль и команду php -v или через браузер и скрипт phpinfo:

Изменить версию php debian и как переключаться между несколькими версиями php в apache2 на debian 11

Установить более позднюю версию PHP можно и из стандартного репозитория CentOS, но самой последней версии в нём нет.

# Добавление репозитория в список источников dnf

Начнём обновление с добавления репозитория remi в список репозиториев dnf:

Мы указываем ссылку для добавления репозитория для CentOS 8. Для 7 версии ссылка будет такой: http://rpms.remirepo.net/enterprise/remi-release-7.rpm.

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

Мы видим, что добавилось два репозитория: remi-modular и remi-safe, который включает в себя устаревшие или находящиеся в стадии разработки расширения для модулей.

Заключение

Теперь вы знаете, как менять настройки в трех разных панелях, а также через консоль. Являетесь нашим клиентам и не знаете, как обновить ПХП? Обратитесь в службу поддержки — мы работаем 24х7 онлайн и обязательно вам поможем!

Оцените статью
Хостинги