- Как изменить версию PHP на сервере с Debian 10
- Как посмотреть версию php
- Переключить версию php
- Рекомендуемые статьи:
- Установка разных версий PHP на Linux Debian
- Установка PHP
- Установка базовой версии
- Установка определенной версии
- Выбор версии PHP по умолчанию
- Установка расширений
- Настройка PHP
- Установка разных версий PHP в Linux
- Как переключаться между несколькими PHP версиями в Apache2 на Debian 11/10
- Включить PHP 8.1 в качестве версии по умолчанию
- Включить PHP 7.4 в качестве версии по умолчанию
- PHP 5.6 как в PHP версия в Apache2 по умолчанию
Как изменить версию PHP на сервере с Debian 10
Статья будет полезна владельцам серверов с Debian 10, которым требуется установить устаревшую версию PHP 5.6. По умолчанию с Debian 10 устанавливается PHP версии 7.3 и эта версия подходит не для всех сайтов.
Как посмотреть версию php
Посмотрим, какая сейчас версия PHP установлена на сервере:
dpkg -l | awk | grep ^php6.4$ php7.3
В нашем случае установлен PHP 7.3.
Переключить версию php
Чтобы сменить версию php потребуется выполнить следующие команды:
apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Добавьте новый репозиторий в настройки apt:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
Обновите список пакетов и потом установите PHP5.6:
apt-get update apt-get install php5.6
Почти готово. Вот как изменить версию php на хостинге:
update-alternatives --config php
---------------------------------------------------------- * 0 /usr/bin/php7.0 70 mode automatique 1 /usr/bin/php5.6 56 mode manuel 2 /usr/bin/php7.0 70 mode manuel
Чтобы переключиться на PHP 5.6 нажмите на клавиатуре 1 и далее Enter. Готово!
Рекомендуемые статьи:
- PhpMyAdmin — как создать пользователя и базу данных
- WordPress — как отключить управление сайтом через xmlrpc
- Несколько причин медленной работы сайта на примере WordPress
- WordPress — смена домена сайта при помощи wp-cli
- Когда использовать index.php, а когда index.html
- PHP. Как удалить элемент из массива
- Дата и время в PHP
- PHP. Различия между Fast-CGI, CGI, Mod-PHP, SuPHP, PHP-FPM
- Простой пример кода на языке PHP
- PHP. Проверка содержит ли строка определенное слово
- Как предотвратить SQL инъекции в PHP
- Как установить Linux, Apache, MySQL, PHP (LAMP) в Ubuntu 18.04
- Как настроить отображение ошибок в PHP
- Несколько трюков и секретов PHP
Установка разных версий PHP на Linux Debian
Опубликовано: 23.03.2023
В Debian можно легко управлять несколькими версиями PHP. Мы рассмотрим процесс установки разных версий пакетов и управления ими.
Установка PHP
Установка базовой версии
Это самый простой способ. Каждая версия Debian в своем репозитории содержит соответствующую версию PHP. Установка выполняется одной командой:
Установка определенной версии
Если нам необходима версия PHP, которой нет в репозитории сисемы, выполняем установку дополнительного — sury.org. Сначала установим следующие пакеты:
- lsb-release — для определения версии релиза операционной системы.
- ca-certificates — набор корневых сертификатов.
- apt-transport-https — дополнение для возможности использовать репозитории по https.
- software-properties-common — утилита для работы с репозиториями.
- gnupg2 — для шифровки и дешифровки цифровых подписей. Нужна для работы с репозиториями.
Установим gpg ключ репозитория sury.org:
wget -qO — https://packages.sury.org/php/apt.gpg | apt-key add —
Создадим конфигурационный файл с настройкой репозитория sury.org:
echo «deb https://packages.sury.org/php/ $(lsb_release -sc) main» | tee /etc/apt/sources.list.d/sury-php.list
Теперь можно установить нужную версию интерпретатора:
Выбор версии PHP по умолчанию
Посмотреть текущую версию php, которая работает по умолчанию можно командой:
Сменить версию по умолчанию:
update-alternatives —config php
Значит у нас установлена всего одна версия PHP.
Мы должны увидеть что-то на подобие:
Selection Path Priority Status
————————————————————
* 0 /usr/bin/php8.1 81 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.1 81 manual mode
* в данном примере используется версия php8 как версия по умолчанию.
Для смены, система предложит нам выбрать версию из списка:
Press to keep the current choice[*], or type selection number: 1
* так мы переключимся на php7.4.
Установка расширений
Расширения устанавливаются с синтаксисом:
Для версии, которая идет по умолчанию в репозитории, установку можно выполнить так:
В остальных случаях обязательно указываем версию:
Настройка PHP
В Ubuntu настройки PHP находятся в разных файлах — для каждой версии и для каждой системы, которая обрабатывает запросы.
Например, для php версии 8.1, которая будет запускаться из командной строки, файл будет:
Установка разных версий PHP в Linux
Вы можете одновременно использовать на хосте Linux разные версии PHP. В этой статье мы покажем, как установить несколько версий PHP на примере Ubuntu/Debian.
Проверьте, какая версия PHP доступна в стандартном репозитории Ubuntu:
$ apt search —names-only ‘^php[.0-9]$’
В нашем примере это php8.1.
Если пакет не установлен, вы можете установить его командой:
Если вам нужно версий PHP, которая отсутствует в стандартном репозитории, нужно подключить дополнительные. Последние пакеты PHP можно установить из репозитория Ondřej Surý.
Добавьте новый репозиторий:
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
Если при установке появилась ошибка FileNotFoundError: [Errno 2] No such file or directory: ‘gpg’, установите gnupg-agent:
$ sudo apt install gnupg-agent
Выведите список доступных версий PHP в репозитории:
Теперь вы может установить нужную версию PHP:
$ sudo apt-get install php7.4
$ sudo apt-get install php8.2
Выведите список установленных версий PHP:
$ dpkg —get-selections | grep -i php
Для установки нескольких версий PHP в rpm дистрибутивах (CentOS, RHEL, Rocky и Oracle Linux), используйте команды:
# dnf -y install epel-release
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# dnf module list php
Проверьте, какая версия PHP используется по умолчанию:
PHP 8.2.5 (cli) (built: Apr 14 2023 04:27:02) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.5, Copyright (c) Zend Technologies with Zend OPcache v8.2.5, Copyright (c), by Zend Technologies
Чтобы сменить версию PHP по-умолчанию, выполните:
$ sudo update-alternatives —config php
Доступны две версии PHP. Выберите из списка версию, которую нужно использовать по-умолчанию.
Или вы можете сразу указать нужную версию:
$ sudo update-alternatives —set php /usr/bin/php7.4
Настройки разных версий PHP находятся в разных файлах. Например, настройки для PHP 8.2:
- Командная строка: /etc/php/8.2/cli/php.ini
- Apache: /etc/php/8.2/apache2/php.ini
- FPM: /etc/php/8.2/fpm/php.ini
Как переключаться между несколькими PHP версиями в Apache2 на Debian 11/10
В вашей системе, если вы установили несколько версий 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 5.6 как в PHP версия в Apache2 по умолчанию
Разработчики 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
Теперь включите модуль PHP 5.6.
sudo a2enmod php5.6 sudo service apache2 restart
По инструкции вы можете изменить версию PHP по умолчанию, не удаляя другие версии.