Vestacp ubuntu обновить php

Как повысить php7.2 до php7.4 в Vesta Panel на Ubuntu 18.04 LTS

Для того, чтобы повысить с php7.2 до php7.4 в Vesta panel нужно сделать несколько действий.

ОБРАЩАЮ ВАШЕ ВНИМАНИЕ, ЧТО ЭТА ИНСТРУКЦИЯ РАБОТАЕТ В ТОМ СЛУЧАЕ, ЕСЛИ У ВАС УСТАНОВЛЕНА СВЯЗКА NGINX + PHP_FPM (на UBUNTU 18.04). Для Apache не уверен в работоспособности.

1) Сделайте резервную копию имеющего сервера (у меня сервер на Digital Ocean — там все делает в несколько кликов)

2) Войдите на сервер по ssh и выполните следующую инструкцию

Добавьте репозиторий для php

sudo add-apt-repository ppa:ondrej/php sudo apt-get update

Сделайте резервную копию пользователя admin (этот шаг в принцепе можно и пропустить)

Далее вам нужно узнать, какие в данный момент у вас установлены расширения php, для этого выполнить эту команду:

dpkg --get-selections | grep -v deinstall | grep php7.2

На экране вы увидете список, скопируйте его в текстовый файл для дальнейшей подготовки.
Подготовка — замените все вхождения с 7.2 на 7.4

Далее выполните команду со списком установленных расширений (в моем случае получилась вот такая команда):

sudo apt-get install php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-fpm php7.4-gd php7.4-imap php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-pspell php7.4-readline php7.4-soap php7.4-tidy php7.4-xml php7.4-xmlrpc php7.4-zip

Теперь необходимо остановить службу php7.2-fpm и стартануть php7.4-fpm. Команды

/etc/init.d/php7.2-fpm stop /etc/init.d/php7.4-fpm start

Обновляете информацию о символических ссылках, входящих в подсистему альтернатив для ALT Linux. На экране появится список для выбора. Вам нужно ввести ту цифру, напротив которой будет написано php7.4-fpm.

update-alternatives --config php

Перезапустите php7.4-fpm и nginx

/etc/init.d/php7.4-fpm restart service nginx restart

Перенестите конфиги от php7.2-fpm в php7.4-fpm. Команды:

cd /etc/php/7.2/fpm/pool.d/ cp * /etc/php/7.4/fpm/pool.d/

Пришло время внести корректировки в Vesta Panel. О тредактируйте конфиг /usr/local/vesta/conf/vesta.conf. Команда:

sudo nano /usr/local/vesta/conf/vesta.conf

Измените php-fpm to php7.4-fpm в строке WEB_BACKEND
Должно получиться вот так:

Далее, нужно скопировать шаблоны сайтов (без них вы не сможете добавить новый сайт). Речь идет об этих шаблонах:

Последовательно выполните команды:

cd /usr/local/vesta/data/templates/web/ cp -r php-fpm php7.4-fpm
cd /usr/local/vesta/data/templates/web/nginx cp -r php-fpm php7.4-fpm

К большому сожалению, Vesta Panel на UBUNTU 18.04 не может работать с несколькими версиями PHP. В моем случае — это php7.2 и php7.4. Если я пытаюсь добавить новый домен то получаю ошибку: Error php-fpm pool doesn’t exist. Для решение это проблемы мне пришлось удалить php7.2.

sudo apt-get purge `dpkg -l | grep php7.2| awk '' |tr "\n" " "`

У меня автоматически установился php8.0, мне он не нужен был и сайт выдавал ошибку 500, я его тоже удалил

sudo apt-get purge `dpkg -l | grep php8.0| awk '' |tr "\n" " "`

Далее удалил предыдущую папку с конфигами php7.2

Читайте также:  Php file get contents response code

Запустил php7.4 и перезапустил nginx

sudo /etc/init.d/php7.4-fpm start sudo service nginx restart

Готово! Ваша Vesta Panel перешла с php 7.2 на php 7.4. Напоминаю, что все изменения вы производите на свой страх и риск! Для своих проектов я делал именно так. И не забывайте про резервные копии 🙂

К слову, есть короткая заметка, как сделать редирект с http на https в Vesta, если вы не знаете как

Источник

Vesta Control Panel — Forum

Всем привет, сейчас я думаю, особенно актуальна тема обновления PHP, так как многие фреймворки, уже не работают с PHP 7.0.

Набор команд, для обновления версии PHP, если у вас установлена связка PHP-FPM + Nginx:

apt install python-software-properties add-apt-repository ppa:ondrej/php apt update systemctl stop php7.0-fpm apt install php7.2-fpm mv /etc/php/7.0/fpm/pool.d/* /etc/php/7.2/fpm/pool.d/ systemctl disable php7.0-fpm rm /lib/systemd/system/php7.0-fpm.service rm /etc/init.d/php7.0-fpm systemctl daemon-reload rm -R /etc/php/7.0 apt install php7.2-xml php7.2-curl php7.2-mbstring php7.2-json php7.2-gd php7.2-imap php7.2-readline php7.2-opcache php7.2-pdo systemctl restart php7.2-fpm systemctl restart vesta

valentine Posts: 16 Joined: Sat Sep 01, 2018 4:10 am
Os: Ubuntu 15x Web: nginx + php-fpm

Re: Обновление PHP (Ubuntu, php-fpm + nginx)

Post by valentine » Thu Sep 13, 2018 2:17 am

Re: Обновление PHP (Ubuntu, php-fpm + nginx)

Post by duddy2007 » Tue Jan 29, 2019 9:13 am

после такого обновления, чтобы не получить ошибку «Your PHP installation appears to be missing the MySQL extension which is required by WordPress.»
надо как минимум добавить еще расширение для mysql
apt-get install php7.2-mysql

p.s. A вообще по идее, надо сначала получить список расширений (php -m), чтобы их переустановить на новую версию, а не так от фонаря бахать установку, это не профессионально.
и еще заметил такой момент после такого сценария обновления 7.0 версия удаляется не до конца, система продолжает думать, что она установлена и если сделать apt upgrade, то получим снова обновление и установку 7.0 на сервере.

Читайте также:  Java async http call

Источник

[РЕШЕНО] Обновление PHP до версии 7.4 на Ubuntu Server с NGINX + PHP-FPM + VestaCP

vcp_ubuntu_php

Сегодня в статье рассмотрим Обновление PHP до PHP 7.4 на Ubuntu Sever с панелью управления VestaCP и веб сервером Nginx + php-fpm.

Все началось после того, как WordPress предложил мне обновится до более новой версии PHP, а точнее до версии PHP 7.3 PHP 7.4

Ну раз предложил, то почему бы и нет. Тем более новая версия PHP 7.3 дает прирост 5%-10% по сравнению с PHP 7.2 и 20%-25% по сравнению с PHP 7.1. PHP 7.4 стала еще более быстрой+ 5-8% по сравнению с PHP 7.3

Обновление PHP на Ubuntu с VestaCP

Для обновления на новую версию PHP, подключаемся по SSH к нашему серверу.

ssh пользователь@IP-адрес_сервера

Далее добавим более свежий репозиторий для нашего PHP

sudo add-apt-repository ppa:ondrej/php

Устанавливаем php 7.4,а также некоторые необходимые дополнения.

sudo apt install php-pear 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 php-memcached

После установки всех дополнений PHP 7.4 набираем в терминале следующую команду:

sudo update-alternatives --set php /usr/bin/php7.4

Данная команда назначит к запуску по умолчанию интерпретатор PHP 7.4.

Если же Вы хотите вернуть версию PHP 7.X, то набираем такую команду:

sudo update-alternatives --set php /usr/bin/php7.X

Скопируйте старый php.ini в новую директорию:

sudo cp /etc/php/7.X/fpm/php.ini /etc/php/7.4/fpm/php.ini

Останавливаем службу php7.X-fpm и запускаем php7.4-fpm:

sudo service php7.X-fpm stop sudo service php-fpm stop sudo service php7.4-fpm start sudo service php-fpm restart

Проверяем всё ли запустилось:

sudo service php-fpm status sudo service php7.4-fpm status

Должно выдать что-то вроде этого:

php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-22 15:12:32 UTC; 46min ago Docs: man:php-fpm7.4(8) Process: 400 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /et> Main PID: 252 (php-fpm7.4) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 2127) Memory: 20.5M CGroup: /system.slice/php7.4-fpm.service ├─252 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) ├─398 php-fpm: pool www └─399 php-fpm: pool www

Если после данной манипуляции перестали работать сайты на WordPress, то читаем дальше.

Решение ошибки 500 — внутренняя ошибка сервера.

И так мы подобрались к сути проблемы. После всех этих действий сайт с версией PHP 7.4 выдавал ошибку 500. Как только я останавливал 7.4 и запускал, ну скажем PHP 7.2 ошибка исчезала и сайт начинал работать в нормальном режиме.

Читайте также:  Тег container в html

Решил искать во всех конфигурационных файла PHP. Сравнивая два файла мне удалось найти некоторые отличия, но сути проблемы это не меняло. И вот когда я совсем отчаялся мне на глаза попадается конфигурационный файл PHP от панели VestaCP расположенный в директории /etc/php/7.2/fpm/pool.d/ и называется он как ваш домен. В моем случае obu4alka.ru.conf со следующим содержимым:

[obu4alka.ru] listen = 127.0.0.1:9001 listen.allowed_clients = 127.0.0.1 user = user group = user pm = ondemand pm.max_children = 4 pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status php_admin_value[upload_tmp_dir] = /home/user/tmp php_admin_value[session.save_path] = /home/user/tmp env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /home/user/tmp env[TMPDIR] = /home/user/tmp env[TEMP] = /home/user/tmp

Данный файл подгружает настройки для нашего домена при запуске php-fpm. Ну хорошо копирую файл в директорию с PHP 7.4, а лучше сразу всю директорию

sudo cp /etc/php/7.2/fpm/pool.d/ /etc/php/7.4/fpm/

Если запускали старую версию PHP, то останавливаем службу php7.2-fpm и запускаем php7.4-fpm:

sudo service php7.2-fpm stop sudo service php7.4-fpm start

Захожу на сайт, УРА. Ошибка 500 исчезла, сайт заработал в нормальном режим.

P.S. Также если не помогает, то двигаемся дальше. И да если сайт отказывается работать на новой версии PHP. Делаем следующее:

sudo nano /usr/local/vesta/conf/vesta.conf
sudo rm /etc/init.d/php-fpm sudo rm /etc/init.d/php7.2-fpm

Далее копируем нашу PHP 7.4:

cp /etc/init.d/php7.4-fpm /etc/init.d/php-fpm
sudo service php7.4-fpm restart sudo service php-fpm restart

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

sudo apt remove --purge php7.2 sudo apt autoremove sudo apt autoclean

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.

RSS

Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

linux-logo

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

dns_bind9

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

linux-logo

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать

Источник

Оцените статью