- Установка и обновление до PHP 8 в CentOS 7
- Установка PHP 8 в CentOS 7
- Обновление до PHP 8 в CentOS 7
- Как установить/обновить PHP 8.0 (Debian/Ubuntu/Mint)
- Изменения расширений и зависимостей в PHP 8.0
- Изменения в файле INI PHP 8.0
- Установка PHP 8
- Установка PHP8 fpm
- Смена установленной версий PHP по умолчанию.
- How to Upgrade from PHP 7.x to PHP 8 on Ubuntu
- Intro
- Prerequisites
- 1. PHP Packages
- 2. Uninstall/Remove PHP 7.x and Extensions
- 3. Autoclean and Autoremove
- 4. Add Ondřej Surý’s PPA repository
- 5. Install PHP 8
Установка и обновление до PHP 8 в CentOS 7
Здравствуйте, уважаемые читатели. Тема статьи сегодня: «Установка и обновление до PHP 8 в CentOS 7». Рассмотрим процесс установки PHP 8, и обновления с предыдущих версий до PHP 8, в операционной системе CentOS 7.
Установка PHP 8 в CentOS 7
- В базовом репозитории CentOS 7, находится старая версия PHP. Для установки более свежей версии (от 7.0 и выше), нужно подключить сторонний репозиторий REMI.
- Подключаем репозиторий:
# yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
- Так же нам понадобится пакет утилит для менеджера yum. Данный пакет находится в репозитории EPEL.
- Если у Вас в системе не подключен репозиторий EPEL, то подключаем его:
- Теперь можно активировать часть репозитория REMI, с требуемой версией PHP.
- В нашем случае, нас интересует remi-php80.
# yum-config-manager --enable remi-php80
Данным способом, Вы можете активировать любую доступную часть в репозитории REMI, и произвести установку требуемой версии PHP. Меняются только последние цифры, указывающие на версию PHP.
- После активации, можно производить установку PHP, и требуемых модулей.
- В команде указываем php80, и требуемые модули через пробел.
- Например вот так:
# yum install php80 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip php-imagick
- Как видно на картинке, установлена версия PHP 8.0.
Обновление до PHP 8 в CentOS 7
- Если Вы устанавливали PHP из репозитория REMI, и хотите произвести обновление на более высокую версию, то это не составит особого труда.
Прежде чем производить обновление PHP, на версию выше используемой Вами, обязательно произведите тестовую установку Вашего сайта, или веб-приложения, в «небоевых условиях», и проверьте совместимость. Установку можно произвести на локальном компьютере, либо на тестовом сервере.
Я буду производить обновление с версии 7.4, до версии 8.0, но данный метод применим ко всем доступным версиям.
# yum-config-manager --disable remi-php74
# yum-config-manager --enable remi-php80
- Производим установку php80, и требуемых модулей через пробел.
- Например вот так:
# yum install php80 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip php-imagick
После обновления PHP, нужно будет снова произвести все настройки, которые были произведены Вами в предыдущей версии.
- Если Вы используете модуль PHP-FPM, то помимо внесения настроек, нужно будет запустить его, и добавить в автозагрузку.
# systemctl start php-fpm # systemctl enable php-fpm
Сегодня мы рассмотрели тему: «Установка и обновление до PHP 8 в CentOS 7». Рассмотрели процесс установки, и обновления PHP в CentOS 7. Смотрите так же, видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
Видео на тему «Установка и обновление до PHP 8 в CentOS 7»:
Как установить/обновить 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, так как теперь он включен по умолчанию.
Пример установки еще нескольких полезных расширений:
Для разработки также могут быть установлены инструменты покрытия кода или отладчик 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 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, можно воспользоваться командой
Это предполагает, что вы используете 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.
How to Upgrade from PHP 7.x to PHP 8 on Ubuntu
PHP 8 is a major update of the PHP language released on November 26, 2020. It contains many new features and optimizations. In this guide we will upgrade from PHP 7.x to PHP 8 on Ubuntu 22.04, 20.04 and 18.04.
Intro
- Ubuntu 22.04, but you do not need to add the custom repository for this version.
- Ubuntu 20.04 and 18.04
Prerequisites
You must back up your server before running these commands as they cannot be reversed easily. If you are on cloud hosting, make sure you image your instance before running any of these commands.
To find out which version of PHP you are currently using, run:
If you are running PHP 7.x, you can continue with this guide to upgrade to PHP 8.
1. PHP Packages
Upgrading from PHP 7.x to PHP 8 involves not only upgrading PHP core, but all of its extensions. For example, if you use the PHP extension cURL, you will need to manually install the PHP 8 version at the end of this guide.
At the end of this guide, I have included a command to install the most common PHP 8 extensions, however, you should check which PHP 7.x extensions are currently installed on your particular server and take note of anything critical to the running of your own web app.
The example above shows PHP 7.2 extensions installed on my own server before upgrading to PHP 8. Copy your own results into a text file and keep it safe in case you need to install the PHP 8 version later.
2. Uninstall/Remove PHP 7.x and Extensions
To uninstall PHP 7.x and all of its extensions, run the command below.
Press y and ENTER when prompted.
If you have phpMyAdmin installed, you may be presented with this screen.
If prompted with the above message, select YES and press ENTER .
You may also be prompted to delete the database.
If prompted with the message above, select NO and press ENTER .
3. Autoclean and Autoremove
After uninstalling packages from Linux, it’s advised to run these two commands.
Press Y and ENTER if prompted.
4. Add Ondřej Surý’s PPA repository
If you are running Ubuntu 22.04 and above, you do not need to add this repository below. Instead, skip to part 5.
If you are running Ubuntu 20.04 or 18.04, the PHP 8 binary packages are only available in the Ondřej Surý PPA repository. Install below.
You may see a welcome message.
-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
Press ENTER to add the repository.
5. Install PHP 8
As of writing, PHP 8.1 is now available so we will install that. If a later version is available, make sure to change the commands below to match.