Желательно выполнять все операции в тот момент, когда базой не пользуются! Можно выключить сайт в настройках панели.
Идем в консоль Файлы
— Консоль
.
Переходим в папку тотума:
cd totum-mit
На всякий случай делаем бэкап базы данных. Вам нужно зайти в Тотум и посмотреть название схемы и потом выполнить команду заменив SCHEMA_NAME
на название которое вы посмотрели в Тотум:
pg_dump -O --dbname=$DB_CONNECTION_STRING --schema="SCHEMA_NAME" > db_backup_php8.sql
Можем проверить, что файл бэкапа создался введя:
ls -lh
Выполняем обновление composer
:
php -f composer.phar self-update --2
Не закрывая вкладку консоли идем на вкладку настроек сайта и переключаем в настройках панели в разделе PHP
версию PHP
на 8.0
Возвращаемся на вкладку консоли и выполняем последовательно две команды:
git pull
bin/totum git-update
Если отключали сайт в настройках панели — включаем его обратно.
Выполняем обновление composer
из под пользователя totum
из папки установленного тотума:
su totum
cd ~
cd totum-mit
php -f composer.phar self-update --2
Возвращаемся в root
и устанавливаем php8
:
su root
apt update
apt -y install php8.0
apt -y install php8.0-bcmath php8.0-cli php8.0-curl php8.0-fpm php8.0-gd php8.0-mbstring php8.0-opcache php8.0-pgsql php8.0-xml php8.0-zip php8.0-soap
Проверяем, что fpm стоит в автозапуске.
systemctl is-enabled php8.0-fpm
Если отключен, то влючаем.
systemctl enable php8.0-fpm
Проверяем, запущен ли apache
:
service apache2 status
Если запущен то останавливаем:
service apache2 stop
Проверяем стоит ли apache в автозапуске:
systemctl is-enabled apache2
Если стоит то отключаем:
systemctl disable apache2
Копируем настройки пула fpm
из предыдущей версии:
cat /etc/php/7.4/fpm/pool.d/totum.conf > /etc/php/8.0/fpm/pool.d/totum.conf
Изменяем прослушиваемый сокет:
nano /etc/php/8.0/fpm/pool.d/totum.conf
listen = /run/php/php7.4-fpm-totum.sock
⟶ listen = /run/php/php8.0-fpm-totum.sock
Тормозим php7.4-fpm
service php7.4-fpm stop
Убираем php7.4-fpm
из автозапуска
systemctl disable php7.4-fpm
Перезапускаем php-fpm.
service php8.0-fpm restart
Проверяем версию php
php -v
Изменяем настройку nginx
:
Если при установке вы делали по инструкции, то
DOMAIN.ZONE
нужно заменить на ваш домен. Если забли какой ввели, то попробуйтеls -l /etc/nginx/sites-available/
— вы увидите список файлов в этой директории.
nano /etc/nginx/sites-available/DOMAIN.ZONE.conf
fastcgi_pass unix:/run/php/php7.4-fpm-totum.sock;
⟶ fastcgi_pass unix:/run/php/php8.0-fpm-totum.sock;
Перезапускаем nginx
:
service nginx restart
Переходим в пользователя totum
:
su totum
Проверяем, что мы в папке тотума и выполняем:
pwd
git pull
bin/totum git-update
В Настройки
— Конфигурация ПО
включите PHP 8.0
и дождитесь установки.
В Настройки
— Настройки PHP
— 8.0.*
— Управление расширениями
включите или проверьте активность:
bcmath
cli (на ISP его нет в списке, но он установлен по умолчанию)
curl
fpm (на ISP его нет в списке — он подключается в другом месте)
gd
json
mbstring
opcache (по желанию, ускоряет работу)
Включить в php.ini (кнопка «Расширенне настройки»):
opcache.enable 1
opcache.enable_cli 1
opcache.memory_consumption 1024 // выделите 15% в зависимости от имеющейся оперативной памяти
jit_buffer_size 512
pgsql
pdo_pgsql
xml
zip
soap (по желанию, необходим для работы функции getFromSoap)
В Сайты
— Настройки сайта
выберите в разделе PHP
версию 8.0.*
Идем в пользователя тотум!, в Администрирование
— shell-клиент
и обновляем composer
из папки тотума:
php -f composer.phar self-update --2
Возвращиемся в root
и в Администрирование
— Shell-клиент
переключите версию PHP
для консоли:
update-alternatives --install /usr/bin/php php /opt/php80/bin/php 200
Проверка:
php -v или update-alternatives --config php
Звездочка должна стоять напротив PHP 8.0 Это очень важно!
Если не стоит — выполните предлагаемые действия для выбора версии!
Снова идем в пользователя тотум, проверяем, что мы в папке тотума и выполняем:
git pull
bin/totum git-update