Aktualizacja 24 -> 25 błąd połączenia bazy/Update 24 -> 25 base connection error

Witajcie, proszę o pomoc z błędem, który otrzymałem podczas aktualizacji nextclouda. Używam go prywatnie od kilku lat, sam się go uczę cały czas ale teraz utknąłem. NCL jest tylko w mojej sieci wewnętrznej

Hello, I’m asking for help with an error I received while updating nextcloud. I’ve been using it privately for a few years, learning it myself all the time but now I’m stuck. NCL is only on my internal network

Aktualizowałem ncl z 24.0.8 do 25 bo pojawił mi się monit. Pierwszy aktualizator przeszedł bez problemu, pojawiła się końcowa funkcja by przejść do dalszych czynności bez maintenance mode i kontynuować aktualizację przez przeglądarkę. Kliknąłem i strona się przeładowała ale nic się nie wyświetliło - biała strona.

I was updating ncl from 24.0.8 to 25 because a prompt came up. The first updater went through without a problem, there was a final function to proceed without maintenance mode and continue the update through the browser. I clicked and the page reloaded but nothing was displayed - a white page.

szukając rozwiązania co może być przyczyną zrobiłem aktualizację php, który z 8.1.18 przeszedł z automatu (dziwne) na 8.2.0. to spowodowało że pomimo, że w przeglądarce nadal było biało to w terminalu podczas wykonania aktualizacji przez occ pojawił się monit o niekompatybilności ncl z php 8.2. trochę się nagłowiłem jak zrobić downgarade bo nie jestem specjalistą ale w efekcie końcowym wydałem polecenie:

looking for a solution as to what could be the cause, I did a php upgrade, which went from 8.1.18 automatically (strange) to 8.2.0. this caused that even though it was still white in the browser, a prompt appeared in the terminal when performing the upgrade via occ about the incompatibility of ncl with php 8.2. I did a bit of digging on how to do the downgarade because I’m not an expert, but in the end I issued the command:

sudo update-alternatives --config php

> 
> Selection    Path                  Priority   Status
> ------------------------------------------------------------
>    0            /usr/bin/php.default   100       auto mode
>    1            /usr/bin/php.default   100       manual mode
>    2            /usr/bin/php7.4        74        manual mode
>    3            /usr/bin/php8.0        80        manual mode
> * 4            /usr/bin/php8.1        81        manual mode
>    5            /usr/bin/php8.2        82        manual mode

i wybrałem wersję 8.1
Po wybraniu i przeładowaniu apache2 zaczęły iść kolejne problemy, w przeglądarce pojawił się:
and I selected version 8.1
After selecting and reloading apache2 more problems started to go, in the browser appeared

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

zatem idę do loga a tam zapis:
so I go to the log and there is a record:

PHP Fatal error: Declaration of OCA\Talk\Share\RoomShareProvider::getSharesInFolder($userId, OCP\Files\Folder $node, $reshares): array must be compatible with OCP\Share\IShareProvider::getSharesInFolder($userId, OCP\Files\Folder $node, $reshares, $shallow = true) in /var/www/nextcloud/apps/spreed/lib/Share/RoomShareProvider.php on line 520

Szukam co to i tu już nic nie znajduję co doprowadziło by mnie do dalszego rozwiązania.
Przy próbie zrobienia occ upgrade pojawia się taki zapis:
I’m looking for what it is and here I find nothing that leads me to a further solution.
When attempting to do an occ upgrade, a note like this appears:

nextcloud@ncl:~$ sudo -u www-data php /var/www/nextcloud/occ upgrade
An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /var/www/nextcloud/lib/private/DB/Connection.php:139
Stack trace:
#0 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1519): OC\DB\Connection->connect()
#1 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1041): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /var/www/nextcloud/lib/private/DB/Connection.php(261): Doctrine\DBAL\Connection->executeQuery()
#3 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(345): OC\DB\Connection->executeQuery()
#4 /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(281): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /var/www/nextcloud/lib/private/AppConfig.php(415): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /var/www/nextcloud/lib/private/AppConfig.php(180): OC\AppConfig->loadConfigValues()
#7 /var/www/nextcloud/lib/private/AppConfig.php(371): OC\AppConfig->getApps()
#8 /var/www/nextcloud/lib/private/legacy/OC_App.php(983): OC\AppConfig->getValues()
#9 /var/www/nextcloud/lib/private/Server.php(714): OC_App::getAppVersions()
#10 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\Server->OC{closure}()
#11 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
#12 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet()
#13 /var/www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#14 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query()
#15 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(184): OC\AppFramework\Utility\SimpleContainer->get()
#16 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
#17 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
#18 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet()
#19 /var/www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#20 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query()
#21 /var/www/nextcloud/lib/private/Server.php(1107): OC\AppFramework\Utility\SimpleContainer->get()
#22 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\Server->OC{closure}()
#23 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
#24 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet()
#25 /var/www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#26 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query()
#27 /var/www/nextcloud/lib/private/Server.php(2084): OC\AppFramework\Utility\SimpleContainer->get()
#28 /var/www/nextcloud/lib/private/Files/View.php(122): OC\Server->getLockingProvider()
#29 /var/www/nextcloud/lib/private/Server.php(455): OC\Files\View->__construct()
#30 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\Server->OC{closure}()
#31 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
#32 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet()
#33 /var/www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#34 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query()
#35 /var/www/nextcloud/lib/private/Server.php(1447): OC\AppFramework\Utility\SimpleContainer->get()
#36 /var/www/nextcloud/lib/base.php(602): OC\Server->boot()
#37 /var/www/nextcloud/lib/base.php(1111): OC::init()
#38 /var/www/nextcloud/console.php(48): require_once(‘…’)
#39 /var/www/nextcloud/occ(11): require_once(‘…’)

Sprawdziłem w mysql to:

nextcloud@ncl:~$ mysqladmin -u root -p status
Uptime: 100814  Threads: 1  Questions: 3885  Slow queries: 1  Opens: 281  Open tables: 274  Queries per second avg: 0.038

Zainstalowałem webmina żeby może bardziej coś zrozumieć i niewiele to zmieniło ale wiem że php działa i baza też
I installed webmin to maybe understand something more and it didn’t change much but I know php is working and so is the database

nextcloud@ncl:~$ service mariadb status

● mariadb.service - MariaDB 10.6.11 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-01-02 10:56:53 CET; 1 day 4h ago

nextcloud@ncl:~$ service apache2 status

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-01-02 19:11:13 CET; 19h ago

Ogólnie to już wymiękam bo nie rozumiem, możecie mi pomóc w rozwiązaniu problemu?
Generally I’m already crumbling because I don’t understand, can you help me solve the problem?

Hej, czy to oznacza, że mam jakiś niespotykany problem? zrobiłem coś nie tak ?

Może rozwiązaniem Twojego problemu jest polecenie:

sudo -u www-data php8.1 --define apc.enable_cli=1  occ db:add-missing-indices

Hej dzięki za podpowiedź, po wydaniu polecenia bez zmian. oto reakcja na polecenie:

failed connection pomimo, że w config.php dane są wpisane i są prawidłowe.

Nie rozumiem też o jakie sterowniki mu chodzi ¯ _( ͡° ͜ʖ ͡°)_/¯

Dorzucam zawartość pliku connection.php linijki około 139 o którym ów skrypt pisze:

Oraz zawartość tego katalogu:

Wątek jest już nieistotny, przeinstalowałem system. Temat do zamknięcia.