Обновление php 7.2 до php 7.4 в Centos 8

Не прошло и пол года, как дефолтная версия php 7.2 в стандартных репозиториях Centos слегка устарела и хочется чего-то новее. Недолго музыка играла :) Продолжаем бесконечную возню с устаревшими пакетами из стандартных репозиториев. Я перевел сайты wordpress с 7.2 на 7.4 и без тестов заметил значительный прирост производительности.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Введение

Ускорение от обновления версии php с 7.2 до 7.4 я заметил в первую очередь в админке сайтов, так как провожу там достаточно много времени. Из-за того, что там ничего не кэшируется, а сам wordpress не очень расторопен, тормоза заметны. И их стало заметно меньше, что видно невооруженным глазом, так что советую попробовать обновление php.

У меня есть статьи про настройку web сервера centos на базе nginx и apache. На момент их написания в стандартных репозиториях Centos была версия php 7.2, которая на тот момент была наиболее актуальной и поддерживаемой большинством движков. Сейчас ситуация изменилась и я бы советовал ставить версию 7.4.

Пошаговая инструкция (How-to)

Необходимое время: 10 минут

Итак, начинаем обновление php с 7.2 до 7.4 на Centos 8.

  1. Проверим текущую версию php.

    # php -v
    PHP 7.2.11 (cli) (built: Oct 9 2018 15:09:36) ( NTS )
    Проверка версии php в консоли centos

  2. Подключаем репозиторий remi.

    # dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpmПодключение репозитория remi

  3. Отключаем текущий модуль php:7.2.

    # dnf module reset php:7.2Отключение модуля php:7.2

  4. Активируем модуль php:remi-7.4.

    # dnf module enable php:remi-7.4Активация модуля php:remi-7.4

  5. Проверяем список модулей php.

    # dnf module list phpСписок модулей php

  6. Запускаем обновление php 7.2 до 7.4

    # dnf updateОбновление php 7.2 до 7.4 в Centos 8

  7. Установка php дополнений для wordpress.

    На всякий случай привожу список всех пакетов, которые необходимы для сайтов wordpress. Если у вас что-то не было раньше установлено, доустановится. Например, я не всегда ставлю imagick, так как он тянет за собой кучу зависимостей. Но все же лучше поставить, так как пакет пригодится для многих плагинов оптимизации изображений.
    # dnf install php-dom php-simplexml php-ssh2 php-xml php-xmlreader php-curl php-date php-exif php-filter php-ftp php-gd php-hash php-iconv php-json php-libxml php-pecl-imagick php-mbstring php-mysqlnd php-openssl php-pcre php-posix php-sockets php-spl php-tokenizer php-zlibУстановка php расширений для wordpress

  8. Проверяем новую версию php.

    Если вы обновляетесь с версии 7.2, то ничего дополнительно настраивать не надо. Все старые конфиги актуальны.
    # php -vПроверка версии php после обновления

Теперь можно сходить в админку WordPress и посмотреть там на версию php.

Проверка версии php в wordpress

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Такая простая инструкция по обновлению php получилась. Экспериментальный для меня формат статьи в виде how-to. Минимум слов, максимум настройки. Думаю, что буду периодически делать такие краткие заметки для рутинных операций, где достаточно простого копипаста.

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

14 комментариев

  1. Николай Колесников

    Огромное спасибо за ваш труд, Ваш сайт кладезь полезной информации, я когда в яндексе поисковый запрос делаю рядом дописываю название сайта, чтоб первым линком шел он ибо здесь все четко по делу и понятным языком! Предлагаю заменить dnf update на dnf update php, так все же корректнее нежели обновлять все пакеты установленные в системе.

  2. Ярослав

    Спасибо большое ! Все получилось !

  3. Евгений

    Везде, что не пробовал, не получается, ошибки с epel-release. Но странно, в данном случае не выдавало ошибок, хотя я пробую с 5.4 обновиться. Точнее не так, некоторые пакеты не стали. Но блин, почему мне до сих пор показывает версию 5.4? По идее я ее отключил, а если что-то не правильно пошло, то 7.4 не встала. Почему? Помогите, уже 4 час сижу бьюсь, CentOS 8, только обновился с чистой 7, мусора еще нет.

    • А как обновлялись? Если что, Centos не поддерживает обновление с релиза на релиз. Все статьи, которые предлагают обновление с 7 на 8, что я пробовал, были либо не рабочие, либо глючные. Centos 8 стоит ставить с нуля, если хотите стабильной и надежной работы системы. Я так подозреваю, что ваши проблемы как раз и из-за обновления с 7 на 8. Само по себе обновление php не представляет каких-то проблем. Статьи у меня на сайте есть по этой теме.

      • Евгений

        Да как раз обновление прошло без проблем, первой же попавшейся статьей, только на англоязычных ресурсах, так как русские все с зеркалами Яндекса, а у нас с этим проблемы.
        Изначально хотел ставить сразу 8, но он отказался становиться ещё на этапе установки. Ни из boot образа, не из полного. Погугли, все советовали из-за этого ставить 7 и обновляться.

      • Евгений

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

  4. Андрей

    а теперь как назад на 7.2?)) а то у меня настроено по Настройка web сервера apache в CentOS 8 и хз как в конфиг mysql залезть, выходит теперь ошибка: sql_mode: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION Режимы `STRICT*` не поддерживаются.

  5. Андрей

    Я начинаю любить этот сайт. Админ следит за нововведениями, обновляет и добавляет информативные новости

  6. Спасибо, очень полезная информация

  7. Александр

    Статью бы дополнить установкой нескольких версий php на CentOS 8, не нашёл в интернете мануала на эту систему.

    • Лично я бы не стал морочиться с несколькими версиями php на сервере, а использовал бы docker для этого.

  8. Спасибо, обновился, все ок-)

  9. Где то руганулся на это
    ==================
    PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /usr/share/pear/PEAR/PackageFile/v2/Validator.php on line 1933
    PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /usr/share/pear/PEAR/PackageFile/v2/Validator.php on line 1933
    PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /usr/share/pear/PEAR/PackageFile/v2/Validator.php on line 1933
    ==============

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

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

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar