Как повысить 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
Запустил 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 на сервере.
[РЕШЕНО] Обновление PHP до версии 7.4 на Ubuntu Server с NGINX + PHP-FPM + VestaCP
Сегодня в статье рассмотрим Обновление 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 ошибка исчезала и сайт начинал работать в нормальном режиме.
Решил искать во всех конфигурационных файла 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.
Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским
Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата
В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать
В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать