Как обновить php linux
Перейти к содержимому

Как обновить php linux

  • автор:

Как установить/обновить PHP 8.0 (Debian/Ubuntu/Mint)

Как установить/обновить PHP 8.0 (Debian/Ubuntu/Mint)

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

sudo apt-get install software-properties-common 
sudo add-apt-repository ppa:ondrej/php
sudo apt-get 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.

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

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

sudo apt install php8.0-common

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

sudo apt install php8.0-cli

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

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

sudo apt install php8.0-

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

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

Установка PHP8 fpm

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

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

sudo apt install php8.0-fpm

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

sudo apt install libapache2-mod-php8.0

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

php -v 
php -m
# php -v 
PHP 8.0.0 (cli) (built: Nov 26 2020 18:04:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0, Copyright (c) Zend Technologies

# php -m
[PHP Modules]
Core
ctype
curl
.

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

sudo apt purge '^php7.4.*'

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

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

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

sudo update-alternatives --config php
Есть 7 вариантов для альтернативы php (предоставляет /usr/bin/php). 

Выбор Путь Приор Состояние
------------------------------------------------------------
0 /usr/bin/php8.0 80 автоматический режим
1 /usr/bin/php5.6 56 ручной режим
2 /usr/bin/php7.0 70 ручной режим
3 /usr/bin/php7.1 71 ручной режим
4 /usr/bin/php7.2 72 ручной режим
5 /usr/bin/php7.3 73 ручной режим
* 6 /usr/bin/php7.4 74 ручной режим
7 /usr/bin/php8.0 80 ручной режим

Press to keep the current choice[*], or type selection number: 6

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

Как обновить PHP и MySQL на Linux VPS

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

Прежде чем приступать к обновлению, предварительно рекомендуется проверить следующую информацию:

  • Какие версии PHP/MySQL доступны на выбранном репозитории на вашем виртуальном сервере;
  • Поддерживает ли ваше ПО работу с версиями PHP/MySQL, до которых планируется выполнять обновление. Если нет, то обновление может привести к неполадкам в работе вашего программного обеспечения.

Обновление PHP и MySQL в CentOS/Fedora с помощью репозиториев EPEL, REMI и RPMForge

CentOS 6 (64 bit)

Перед обновлением вам необходимо подключить дополнительные репозитории: EPEL, REMI и RPMForge. Это делается при помощи следующих команд:

rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Их активация выполняется редактированием файлов /etc/yum.repos.d/epel.repo, /etc/yum.repos.d/rpmforge.repo и /etc/yum.repos.d/remi.repo. Открыв выбранный файл любым редактором (например, nano), измените значение параметра Enabled с 0 на 1.

nano /etc/yum.repos.d/epel.repo nano /etc/yum.repos.d/rpmforge.repo nano /etc/yum.repos.d/remi.repo

Сохранение результатов редактирования выполняется сочетанием клавиш Ctrl+O. Выйти из редактора можно, нажав на Ctrl+X.

В файле /etc/yum.repos.d/remi.repo в обязательном порядке активируйте секцию той версии PHP, до которой хотите обновиться, установив значение параметра enabled равным 1.

Сохранив изменения, выполните команду

yum update php mysql

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

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Затем в файле mysql-community.repo необходимо активировать нужную версию MySQL (enabled=1):

nano /etc/yum.repos.d/mysql-community.repo

После этого исполнить команду

yum update mysql

MySQL будет обновлена до указанной вами в файле mysql-community.repo версии.

CentOS 6 (32 bit)

Алгоритм действий для обновления версий PHP и MySQL аналогичен описанному в предыдущем разделе. Сначала загрузите дополнительные репозитории EPEL, RPMForge и REMI, совместимые с используемой на VPS операционной системой:

rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Таким же образом активируйте их редактированием файлов /etc/yum.repos.d/epel.repo, /etc/yum.repos.d/rpmforge.repo и /etc/yum.repos.d/remi.repo :

nano /etc/yum.repos.d/epel.repo nano /etc/yum.repos.d/rpmforge.repo nano /etc/yum.repos.d/remi.repo

После чего выполните команду

yum update php mysql

Для обновления MySQL до версии выше 5.5.44 используйте команду:

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Сделайте активной секцию желаемой версии MySQL (enabled=1):

nano /etc/yum.repos.d/mysql-community.repo

И снова выполните

yum update mysql

Fedora 20 (64 bit)

По аналогии с двумя предыдущими разделами скачайте репозитории EPEL, RPMForge и REMI:

rpm -ivh http://fedora.ip-connect.vn.ua/fedora-epel/7/$(arch)/e/epel-release-7-5.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/remi-release-20.rpm rpm -Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

Подключите их, присвоив значение 1 параметру enabled, открыв для редактирования файлы /etc/yum.repos.d/epel.repo, /etc/yum.repos.d/rpmforge.repo и /etc/yum.repos.d/remi.repo :

nano /etc/yum.repos.d/epel.repo nano /etc/yum.repos.d/rpmforge.repo nano /etc/yum.repos.d/remi.repo

Хотим заметить, что при использовании ОС Fedora в файле /etc/yum.repos.d/remi.repo секции, относящиеся к той или иной версии PHP отсутствуют. Вам необходимо активировать только сам репозиторий REMI.

Обновление же версии PHP выполняется командой

yum --enablerepo=remi,remi-php56 install httpd php php-common

Для обновления версии MySQL выполните:

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-fc20-5.noarch.rpm

Откройте редактором nano файл mysql-community.repo и активируйте в нем нужную вам версию MySQL:

nano /etc/yum.repos.d/mysql-community.repo

Обновите версию MySQL:

yum -y update mysql

Fedora 20 (32 bit)

Для 32-битной версии данной ОС репозитории EPEL и RPMForge отсутствуют, потому подключаем только REMI:

rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/remi-release-20.rpm

Активируем REMI, отредактировав файл /etc/yum.repos.d/remi.repo :

nano /etc/yum.repos.d/remi.repo

Значение enabled=0 меняем на enabled=1.

Далее обновляем PHP до последней версии:

yum --enablerepo=remi,remi-php56 install httpd php php-common

Скачиваем репозиторий для обновления MySQL:

Выбираем нужную вам версию MySQL в файле mysql-community.repo :

nano /etc/yum.repos.d/mysql-community.repo
yum -y update mysql

Fedora 21 (64 bit)

Подключаем только репозитории EPEL и REMI:

rpm -ivh http://fedora.ip-connect.vn.ua/fedora-epel/7/$(arch)/e/epel-release-7-5.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/remi-release-21.rpm

Активируем их, отредактировав файлы

nano /etc/yum.repos.d/epel.repo nano /etc/yum.repos.d/remi.repo

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

yum --enablerepo=remi,remi-php56 install httpd php php-common

Обновляем версию MySQL, скачав репозиторий

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-fc21-6.noarch.rpm

Подключаем нужную нам версию MySQL

nano /etc/yum.repos.d/mysql-community.repo
yum -y update mysql

Результаты обновлений вы можете проверить следующим образом:

php -v

Проверка подключенных модулей PHP:

Как обновить PHP с 5.4 до 7.0 на CentOS 7

Хостинг Linux от 9 рублей в месяц VPS Linux всего за 89 рублей в месяц

В этой статье мы расскажем как обновить пакет PHP на виртуальном сервере с операционной системой CentOS 7.

1) Вы должны иметь на сервере установленный пакет ПО LAMP (если у вас установлен Nginx, то эта инструкция вам может не подойти). Как его установить, написано в нашей инструкции.

2) Нужно добавить репозиторий EPEL. Для этого вводите команду:

yum install epel-release

3) Дальше выполняете такую команду:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

4) Устанавливайте PHP 7.0 командой:

yum install php70w

обновление php на vps с centos

5) Перезагружайте Apache:

sudo apachectl restart

6) Если вы все сделали по нашей инструкции с установкой LAMP, то результат можно проверить по ссылке http://IPвашегосервера/index.php или командой:

проверка результата обновления php

7) Все. Вы установили PHP 7.0, проверьте работоспособность всех систем вашего проекта.

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

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

Прежде всего убедитесь, что Ваши сайты и приложения на PHP поддерживают новую версию PHP на которую Вы желаете обновится. Многие, особенно самописные сайты, или не обновленные приложения популярных CMS не совместимы с новыми версиями PHP. Поэтому лишний раз перепроверите совместимость. Зайдите на сайты разработчиков CMS, прочитайте рекомендации или напишите им в поддержку. К примеру e Joomla 3, на сегодняшний день, многие плагины и модули не работают c 8-й версией PHP. Поэтому не спешите переходить на 8-ю версию.
Итак, если все проверили можем преступать.

Обновление до PHP 7.4

Обязательно сделайте резервную копию Ваших сайтов (файлы и базы данных)!

Данный мануал подойдет и для серверов работающих на VestaCP

Сначала добавим репозитории

add-apt-repository ppa:ondrej/php
add-apt-repository ppa:ondrej/apache2
sudo apt update
sudo apt -y upgrade

Установим основной пакет PHP 7.4

apt install php7.4

После успешной установки, добавим необходимые модули для web сервера:

apt install php7.4-common php7.4-mysql php7.-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opache php7.4-soap php7.4-zip php7.4-intl

Многие считают, что этого достаточно и не могут понять, почему на сервере по прежнему работает старая версия PHP. Что бы заработала новая, необходимо отключить старую и включить новую. Допустим у Вас стоит версия 5.4, тогда выполняем команду ее отключения:

a2dismod php5.4

Затем включаем новую, установленную 7.4:

a2enmod php7.4

Далее необходимо перезапустить apache:

systemctl restart apache2

Все, теперь на сервере будет работать новая версия PHP7.4
Для многих сайтов требуются дополнительные модули. Вы их можете установить дополнительно. Допустим для многих сайтов требуются модули gmp и bcmath. Устанавливаются командой:

apt install php7.4-bcmath php7.4-gmp

Каждый раз после установки дополнительных модуле PHP необходимо перезапускать веб-сервер:

systemctl restart apache2

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

apt remove php5.4 apt autoremove

Проверить версию PHP на сервере можно создав в корне сайта файл, допустим с именем web.php с кодом:

php

И открыть его в адресной строке www.ваш-сайт/web.php»

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

Установка PHP 8.1

8-я версия PHP устанавливается аналогично, достаточно заменить в команда, что выше, 7.4 на 8.1

apt install php8.1
apt install php8.1-common php8.1-mysql php8.1-xml php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl

Не забудьте включить 8-ю версию PHP, прежде отключив старую 7.4

Если Вам помогла эта статья, пожалуйста, чуть ниже на этой страничке поставьте 5 звезд, и поделитесь статьей в социальных сетях. Благо дарим!

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

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