[Solved]Fehler beim starten von OCC

Hallo!

Kann mir jemand sagen was folgender Fehlercode aussagt?

sudo -u http /bin/php /volume1/web/nextcloud/occ
An unhandled exception has been thrown:
exception ‘Doctrine\DBAL\DBALException’ with message ‘Failed to connect to the database: An exception occured in driver: could not find driver’ in /volume1/web/nextcloud/lib/private/DB/Connection.php:59
Stack trace:
#0 /volume1/web/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /volume1/web/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /volume1/web/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /volume1/web/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(621): Doctrine\DBAL\Connection->getDatabasePlatform()
#4 /volume1/web/nextcloud/lib/private/DB/Connection.php(142): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#5 /volume1/web/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#6 /volume1/web/nextcloud/lib/private/DB/ConnectionFactory.php(123): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#7 /volume1/web/nextcloud/lib/private/Server.php(415): OC\DB\ConnectionFactory->getConnection(‘mysql’, Array)
#8 /volume1/web/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#9 /volume1/web/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet(‘DatabaseConnect…’)
#10 /volume1/web/nextcloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query(‘DatabaseConnect…’)
#11 /volume1/web/nextcloud/lib/private/Server.php(1029): OC\ServerContainer->query(‘DatabaseConnect…’)
#12 /volume1/web/nextcloud/lib/private/Server.php(220): OC\Server->getDatabaseConnection()
#13 /volume1/web/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#14 /volume1/web/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet(‘OC\Authenticati…’)
#15 /volume1/web/nextcloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query(‘OC\Authenticati…’)
#16 /volume1/web/nextcloud/lib/private/Server.php(224): OC\ServerContainer->query(‘OC\Authenticati…’)
#17 /volume1/web/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#18 /volume1/web/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet(‘OC\Authenticati…’)
#19 /volume1/web/nextcloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query(‘OC\Authenticati…’)
#20 /volume1/web/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(151): OC\ServerContainer->query(‘OC\Authenticati…’)
#21 /volume1/web/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}(Object(OC\Server))
#22 /volume1/web/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet(‘OC\Authenticati…’)
#23 /volume1/web/nextcloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query(‘OC\Authenticati…’)
#24 /volume1/web/nextcloud/lib/private/Server.php(239): OC\ServerContainer->query(‘OC\Authenticati…’)
#25 /volume1/web/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#26 /volume1/web/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet(‘UserSession’)
#27 /volume1/web/nextcloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query(‘UserSession’)
#28 /volume1/web/nextcloud/lib/private/Server.php(906): OC\ServerContainer->query(‘UserSession’)
#29 /volume1/web/nextcloud/lib/private/Server.php(459): OC\Server->getUserSession()
#30 /volume1/web/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#31 /volume1/web/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet(‘AppManager’)
#32 /volume1/web/nextcloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query(‘AppManager’)
#33 /volume1/web/nextcloud/lib/private/Server.php(1206): OC\ServerContainer->query(‘AppManager’)
#34 /volume1/web/nextcloud/lib/private/legacy/app.php(293): OC\Server->getAppManager()
#35 /volume1/web/nextcloud/lib/private/legacy/app.php(109): OC_App::getEnabledApps()
#36 /volume1/web/nextcloud/lib/base.php(658): OC_App::loadApps(Array)
#37 /volume1/web/nextcloud/lib/base.php(1059): OC::init()
#38 /volume1/web/nextcloud/console.php(48): require_once(’/volume1/web/ne…’)
#39 /volume1/web/nextcloud/occ(11): require_once(’/volume1/web/ne…’)
#40 {main}

Vielen Dank und lieben Gruß,
JD

Aus den ersten Zeilen lese ich heraus, dass die Datenbankverbindung nicht hergestellt werden konnte.

Willst du die Nextcloud frisch installieren oder ist diese bereits installiert?

Nextcloud ist bereits installiert.
Bisher lief alles einwandfrei, wobei ich vorher noch nie OCC aufgerufen hatte.
Nach der obigen Fehlermeldung funktiniert die Web Oberfläche und die Clients nicht mehr. Kommt immer die Fehlermeldung Internal Server Error 500.

Was steht in der Serverlog für den 500er Error?

Die finde ich ehrlich gesagt nicht.
Unter welchem Pfad per SSH müsste der Log liegen?

Die log liegt üblicherweise bei einem Linux-Apache2 unter /var/log/apache2 .

Außerdem warum rufst du das mit dem user http auf?

In meinem System ist so eingerichtet, dass ich weder “sudo” noch ein “sudo -u http” benötige, sondern lediglich php occ [Befehle aus dem OCC]

Den Pfad zu php habe ich in der .bashrc eingerichtet und dann rufe ich es direkt aus dem selben Verzeichnis wie die Nextcloud-Installation ist auf. Das erspart viel tipperei und vermindert Fehlerquellen.

Mein Log Ordner sieht wie folgt aus. Kannst du damit was anfangen? Ich hätte dort eigentlich eine nextcloud.log vermutet.

Log

Ich habe das Aufrufen von OCC aus dem Admin Manual und da dort auf das ausführen mit http verwiesen wurde, hab ich dies einfach gemacht.

https://docs.nextcloud.com/server/10/admin_manual/configuration_server/occ_command.html

Was für ein System hast du überhaupt am laufen?

Ich vermisse bei dir im Log das apache2 Verzeichnis.

Außerdem ist meines wissens doch der Standart-User für apache2 folgender: www-data

Und du nutzt den User: http

Die folgende Zeile habe ich aus dem Handbuch, was du verlinkt hast:
sudo -u www-data php occ

Ich habe Nextcloud 10.0.1 auf einer Synology DiskStation laufen.
Apache HTTP Server 2.2 und PHP 5.6.
Mittlerweile habe ich ein Nextcloud.log, da das http Profil anscheinend nicht genug rechte hatte um die nextcloud.log zu erstellen. Zudem war in meiner config.php kein loggen eingetragen.
Wenn ich jetzt den Fehler provoziere ist die nextcloud.log aber leider leer.
Wenn ich andere Benutzer als http benutze bekomme ich den Fehler unknown user.

Wegen des 500er Error solltest du die error.log vom Apache finden.

Suche am besten mal mit einem der folgenden Befehle:

locate error.log
find -name ‘*error.log’

zur 10er Nextcloud habe ich selbst relativ wenig Erfahrung, da ich selbst erst mit der 11er begonnen habe.

Falls wer diesen Thread bei der Suche nach Lösungen findet: ich hab im Synology Forum gesehen, dass andere User die php56 Version statt php70 nehmen. Hier der Link: https://www.synology-forum.de/showthread.html?86144-Nextcloud-12/page8

Bei mir funktionierte folgendes:
sudo -u http /usr/local/bin/php56 occ maintenance:mode --off