Problems with PHP 7.2

Since I updated from PHP 7.1 to 7.2, Matomo doesn’t work any more. I can open the dashboard and see the last visitors, but all other windows show a general error:

“Oops… während der Anfrage ist ein Problem aufgetreten. Möglicherweise war der Server temporär überlastet, oder eventuell haben Sie einen Bericht mit zu vielen Daten angefordert. Bitte noch einmal versuchen. Wenn dieser Fehler wiederholt auftritt kontaktieren Sie bitte Ihren Matomo Administrator, um Unterstützung zu erhalten.”

I use the latest version 3.13.04, settings says there are no tracking errors.

Any suggestions?
Thanks,
Daniel

1 Like

Hi,

Can you check the PHP error log to find out what’s the error, that is occuring?

Hallo Lukas,
wo finde ich das PHP error log? Habe weder innerhalb von Matomo, noch in den files (FTP) etwas entdeckt.
Danke und Gruß,
Daniel

Hallo,

Das kommt komplett auf das Server-Setup an. Wenn du den Server nicht selbst betreibst, sondern einen Shared Hoster verwendest, würde ich bei dem einmal nachlesen oder nachfragen, wo PHP Fehler gespeichert werden (manche machen dafür einen Ordner im FTP).

Hallo Lukas,

hab’s gefunden: MSQL Server has gone away.
Ein typischer Block im Error Log sieht folgendermaßen aus, hilft uns das weiter?

07.04.2020 08:17:22 tangoyim.de [client 87.154.118.0] Error in Matomo: Mysqli prepare error: MySQL server has gone away
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] PHP Fatal error: Uncaught Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: MySQL server has gone away in /mnt/web115/d2/10/5861710/htdocs/lieder/piwik/libs/Zend/Db/Statement/Mysqli.php:77
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] Stack trace:
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] #0 /mnt/web115/d2/10/5861710/htdocs/lieder/piwik/libs/Zend/Db/Statement.php(115): Zend_Db_Statement_Mysqli->_prepare(‘INSERT INTO piw…’)
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] #1 /mnt/web115/d2/10/5861710/htdocs/lieder/piwik/libs/Zend/Db/Adapter/Mysqli.php(419): Zend_Db_Statement->__construct(Object(Piwik\Db\Adapter\Mysqli), ‘INSERT INTO piw…’)
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] #2 /mnt/web115/d2/10/5861710/htdocs/lieder/piwik/libs/Zend/Db/Adapter/Abstract.php(478): Zend_Db_Adapter_Mysqli->prepare(‘INSERT INTO piw…’)
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] #3 /mnt/web115/d2/10/5861710/htdocs/lieder/piwik/core/Session/SaveHandler/DbTable.php(113): Zend_Db_Adapter_Abstract->query(‘INSERT INTO piw…’, Array)
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] #4 /mnt/web115/d2/10/5861710/htdocs/lieder/piwik/core/Session/SaveHandler/DbTable.php(145): Piwik\Session\SaveHandler\DbTable->query(‘INSERT INTO piw…’, Array)
07.04.2020 08:17:22 tangoyim [client 87.154.118.0] #5 [internal function]: Piwik\Session\SaveHandler\DbTable->wr in /mnt/web115/d2/10/5861710/htdocs/lieder/piwik/libs/Zend/Db/Statement/Mysqli.php on line 77

PS: das .de hinter “tangoyim” habe ich bis auf die erste Zeile gelöscht, da ich als neuer Benutzer in diesem Forum nicht so viele Links hinzufügen kann.

Hallo,

Okay, der Fehler ist recht häufig und bedeutet kurz gesagt, dass Matomo in PHP eine SQL Anfrage an die Datenbank schickt, aber nie eine Antwort bekommt. Das kann an allem möglichen liegen. Vielleicht braucht die Datenbank zu lange und die Verbindung bricht inzwischen zusammen. Oder die Pakete, die Matomo an die Datenbank schickt, sind größer als die max_allowed_packet, die die Datenbank konfiguriert hat.

https://matomo.org/faq/troubleshooting/faq_183/

Wirklich beantworten kann das ganze nur, wer den Datenbankserver betreut.

Normalerweise würde ich vermuten, dass vielleicht die php.ini für PHP 7.2 im Gegensatz zu der von der vorherigen Version nicht richtig konfiguriert ist. Aber seltsamerweise habe ich hier im Forum schon von sehr vielen Leuten gelesen, bei denen genau das passiert, nachdem sie angefangen haben PHP 7.2 zu verwenden. Du könntest also vielleicht mal PHP 7.3 oder 7.4 probieren und schauen, ob das vielleicht wirklich nur mit PHP 7.2 öfter passiert.

Hallo und vielen Dank schonmal soweit.

Die Seite liegt, wie du wahrscheinlich schon gesehen hast, bei Strato. PHP 7.3 und 7.4 funktionieren auch nicht. Kann ich irgendwas selber machen (ich habe Zugriff auf die .htaccess) oder muss ich mich an Strato wenden?

Ist schon seltsam: auch vorher (7.1) hab es gelegentlich Überlastungen und klappten komplexere Abfragen erst im 2. Anlauf, aber seit 7.2 ff. geht gar nichts mehr - außer “Besuche in Echtzeit”.

Hallo Lukas,

ich habe jetzt eine Anfrage an Strato geschickt, wüßte nicht, was ich sonst von hier aus ändern könnte…

Die Antwort von Strato ist recht lapidar:
Die einzelnen PHP Versionen stehen bei STRATO mit unterschiedlichen Grundeinstellungen zur Verfügung, die nicht verändert werden können.
Noch eine Idee, was man machen könnte? Gibt es andere Matomo-User, die bei Strato sind und das gleiche Problem haben??

Höchst professionell. Es wäre wirklich hilfreich zu wissen, was diese config ist (wobei mit phpinfo() sollte man den Großteil davon sehen können.)

Du bist bei weiten nicht der einzige mit genau dem Problem, auch wenn niemand von Matomo team es reproduzieren kann.

Ich habe vor kurzem unter

einmal die Fakten zusammengeschrieben.
Shared-Hoster wie Strato scheinen eine Gemeinsamheit von allen Nutzern, die das Problem haben.

Fragen wir mal andersrum:

gibt es jemanden, der mit Strato, PHP ab 7.2 und Matomo keine Probleme hat?

Hallo @danielmarsch,

In der Zwischenzeit gab es zwei neue Ideen. Erstens:

Anscheinend kann man in CPanel bei manchen Anbietern verschiedene MySQL clients auswählen und mit manchen davon funktioniert es wohl besser.

Andererseits ist in der config/config.ini.php vielleicht adapter=MYSQLI oder so eingestellt. Wenn man das entfernt, verwendet Matomo PDO, was vermutlich besser funktioniert.

Gibt es irgendwas, das ich als dummer Strato-Shared-Hosting-Kunde, der auf alle dies Funktionen keinen Zugriff hat, machen kann?

Hallo,

Zu ersterem weiß ich nicht, was du machen kannst.

Zweiteres ist aber unabhängig vom Host und kannst du auf jeden Fall probieren. Die config/config.ini.php ist die Einstellungsdatei von Matomo und somit im Matomo-Ordner. Dort kannst du mal schauen, ob MYSQLI erwähnt wird.

Vielen Dank!!, Lukas, ich hatte die Hoffnung ja schon fast aufgegeben.
Ein kleine Seimikolon in der config.ini: ; adapter = “MYSQLI” - und die Sache läuft wieder.

1 Like

Ich hatte genau das Problem auf STRATO mit MATOMO in einem einfachen Webhosting-Paket und PHP 7.4.27!
d.h. das Problem ist wahrscheinlich unabhängig von der PHP Version und betrifft den adapter = “MYSQLI” Eintrag

Die Lösung ist wirklich simpel:
in config/config.ini
den Eintrag adapter = “MYSQLI”
entfernt
Super, Danke!