Обновления PHP до версии 7.4 на Ubuntu Server с NGINX + PHP-FPM

Сегодня в статье опишу пример как можно Обновить PHP до версии 7.4 на Ubuntu Server с NGINX + PHP-FPM.
PHP — это популярный серверный язык сценариев, он участвует в создании динамических и интерактивных веб-страниц. PHP является широко используемым языком программирования в Интернете.
Обновление до PHP 7.4 на Ubuntu Server
Для обновления на новую версию PHP, подключаемся по SSH к нашему серверу.
ssh пользователь@IP-адрес_сервера
Далее добавим более свежий репозиторий для PHP
sudo add-apt-repository ppa:ondrej/php
Обновим индексы:
sudo apt update
Устанавливаем PHP7.4, а также некоторые необходимые дополнения.
sudo apt install php7.4 php7.4-common php7.4-cli php7.4-fpm php7.4-gd php7.4-mysql php7.4-mbstring php7.4-curl php7.4-xml php7.4-zip php7.4-json php7.4-imagick php7.4-xmlrpc php7.4-bz2 php7.4-dev php7.4-opcache
После установки PHP7.4 набираем в терминале следующую команду:
sudo update-alternatives --set php /usr/bin/php7.4
Данная команда назначит к запуску по умолчанию интерпретатор PHP7.4.
Если же Вы хотите вернуть версию PHP7.3, то набираем такую команду:
sudo update-alternatives --set php /usr/bin/php7.3
Скопируйте старый php.ini в новую директорию:
sudo cp /etc/php/7.3/fpm/php.ini /etc/php/7.4/fpm/php.ini
Останавливаем службу php7.3-fpm и запускаем php7.4-fpm:
sudo service php7.3-fpm stop
sudo service php7.4-fpm start
Проблема phpmyadmin после обновления.
Если при попытке зайти в панель управления phpmyadmin, после обновления на новую версию php. Ваш сервер выдает ошибку 500 — внутренняя ошибка сервера, то необходимо найти различия в файле www.conf
расположенного по пути:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
В моем случае необходимо было закомментировать одну строчку и добавить еще одну:
;listen = /run/php/php7.4-fpm.sock
listen = 127.0.0.1:9000
После перезагружаем наш php-fpm командой
sudo /etc/init.d/php7.4-fpm restart
Все теперь phpmyadmin заработал в обычном режиме.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо!!!
RSS
Я начну новое окно. /etc/php/7.4/fpm/pool.d/www.conf — в этом конфиге Так и было записано: listen = /run/php/php7.4-fpm.sock Вот это тоже сделал: Значит удаляем файл php-fpm и если есть php7.2-fpm Далее копируем cp php7.4-fpm php-fpm Все равно вижу надпись: Ваш сайт использует старую версию PHP (7.2.31-1+ubuntu18.04.1+deb.sury.org+1) При этом команда в терминале выводит… Подробнее »
Вывод в студию
ps aux | grep php
ps aux | grep php root 1011 0.0 0.2 516496 35544 ? Ss May21 0:00 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) root 1100 0.0 0.1 490748 32592 ? Ss May21 0:01 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) root 1462 0.0 0.0 177796 10520 ? Ss May21 0:00 php-fpm: master process (/usr/local/vesta/php/etc/php-fpm.conf) admin 1463 0.0… Подробнее »
Посмотрите пути в этом файле /usr/local/vesta/php/etc/php-fpm.conf
Для поиска воспользуйтесь редактором nano:
sudo nano /usr/local/vesta/php/etc/php-fpm.conf
Далее сочетанием клавиш ctrl+w (набираете в открывшемся диалогов окошке
php7.
, далее опять нажимаете ctrl+w и просто ENTER прога будет прыгать по значениям) Где есть пути к 7.2 исправляем на 7.4Это всё, что есть в этом файле: [global] pid = /var/run/vesta-php.pid daemonize = yes [www] user = admin group = admin listen = /var/run/vesta-php.sock listen.owner = admin listen.group = admin listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 env[HOSTNAME] =… Подробнее »
Попробуйте открыть файл: sudo nano /usr/local/vesta/conf/vesta.conf И поменять в нем значение: WEB_BACKEND='php72-php-fpm' на WEB_BACKEND='php74-php-fpm' А вообще еще такой вопрос. Я так понимаю вы версию 7.2 оставили? Пробовали выключать 7.2 и запускать 7.4 sudo service php7.2-fpm stop sudo service php7.4-fpm restart sudo service php-fpm restart Также можете еще глянуть статус php7.4-fpm… Подробнее »
Если выключаю версию 7.2, получаю ошибку 500 на всех сайтах. В файле sudo nano /usr/local/vesta/conf/vesta.conf стояло значение ‘php-fpm’, исправил на ‘php74-php-fpm’ -всё осталось по прежнему. По команде sudo service php7.4-fpm status после остановки 7.2 выдаёт: ● php7.4-fpm.service — The PHP 7.4 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset:… Подробнее »
Вот мы и вернулись к той статье которую я вам присылал. Теперь после выключения 7.2 и запуска 7.4 сделайте все по инструкции с той статьи. Должно заработать. Могу ещё вас предупредить. Что с переходом на 7.4 у вас панель Весты перестанет обновляться. Но если вам нужна скорость php, то однозначно… Подробнее »
Олег, а как 7.2 отключить постоянно?
sudo systemctl disable php7.2-fpm
Ну или удалить
sudo apt remove php7.2
И ещё. Статья о переходе на 7.3
На 7.4 инструкции те же?
Да всё подходит, за исключением: путь на 7.4 исправьте
Спасибо, Олег. Сейчас переделаю сетку и попробую допилить.
Переработал стать по вашем комментариям. Пробуйте
https://obu4alka.ru/resheno-obnovlenie-php-do-versii-7-3-na-ubuntu-server-s-nginx-php-fpm-vestacp.html
Добрый день! Поможете решить проблему? Пытаемся поднять хостинг для своих нужд на Ubuntu 18.04, в качестве панели используем VestaCP. На данный момент конфигурация такая: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic PHP 7.4.6 (cli) (built: May 14 2020 10:02:44) ( NTS… Подробнее »
Забыл сказать:
VestaCP устанавливалась в конфигурации nginx + php-fpm
Добрый день. Данную статью читали https://obu4alka.ru/resheno-obnovlenie-php-do-versii-7-3-na-ubuntu-server-s-nginx-php-fpm-vestacp.html
Да, читал. Только там немного о другом. У нас нет проблем с ошибками. WordPress просто не использует 7.4, а продолжает работать на 7.2.
«Здоровье сайта» выдает сообщение: Ваш сайт использует старую версию PHP (7.2.31-1+ubuntu18.04.1+deb.sury.org+1)
В данной статье написанно:
После установки PHP7.3 набираем в терминале следующую команду:
sudo update-alternatives --set php /usr/bin/php7.3
Данная команда назначит к запуску по умолчанию интерпретатор PHP7.3.
Selection Path Priority Status
————————————————————
0 /usr/bin/php7.4 74 auto mode
1 /usr/bin/php7.2 72 manual mode
* 2 /usr/bin/php7.4 74 manual mode
У нас нет версии 7.3, но попробовал команду:
sudo update-alternatives --set php /usr/bin/php7.4
Не помогло. WordPress все равно остался на 7.2
Попробуйте в конфиг.файле изменить в ручную все пути на 7.4. файл находится по пути /etc/init.d/php-fpm и ещё один только название php7.4-fpm. также удалите все остальные ревизии, т.е. php-fpm7.2
Знать бы ещё, какие пути правильные, а какие нет. И что именно править.
Если бы Вы открыли файл и посмотрели что там написано. То мне кажется разобрались бы. Ну да ладно. Намекну, в файлах которые я указал, прописанны пути до интерпретатора. Его можно поправить, т.е. где у вас будет написанно php7.2-fpm необходимо исправить на php7.4-fpm
А вообще. Я раньше тоже пользовался vestacp но как-то не зашла данная панель. Очень много глюков. Лучше все вручную. У меня сейчас так и организованно. Год без лагов все работает. Веста может и в чем то удобнее но сырая ещё.
Я понимаю насчет Весты. Но у нас больше 10 сайтов, админить их вручную не очень удобно. Спасибо, посмотрю, потом расскажу, получилось или нет.
Нет там записей с 7.2
Есть ещё варианты?
Переходим в директорию: cd /etc/init.d Если в директории нет файла php7.4-fpm, то делаю так: mv php7.2-fpm php7.4-fpm. Открываю файл php7.4-fpm. Сразу же, практически сверху строчка: PIDFILE=${CONF_PIDFILE:-/run/php/php7.2-fpm.pid} Меняем 7.2 на 7.4 Практически в конце файла systemd-tmpfiles …… /usr/lib/tmpfiles.d/php7.2-fpm.conf Также меняем на 7.4 После замены удаляю файл: rm php-fpm Далее копирую: cp… Подробнее »
В том то и дело, что php7.4-fpm есть и все записи в нём правильные.
Значит удаляем файл php-fpm и если есть php7.2-fpm
Далее копируем
cp php7.4-fpm php-fpm
Так нашел еще. Делаем так:
sudo cp /etc/php/7.2/fpm/pool.d /etc/php/7.4/fpm
Далее открываем на редактирование файл:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
И меняем строчу listen на
listen = /run/php/php7.4-fpm.sock
далее рестарт php и nginx