Oxid Shop 4.10.7 und PHP 7

Hallo an alle…
Ich stehe vor folgendem Problem. Mein Provider (domainfactory) hat mir gestern im Telefongespräch verkündet, das bis Ende März 2019 PHP 5 abgeschafft wird und nur noch die 7 angeboten wird. Da ich erst im Januar den Shop neu gemacht habe, will ich jetzt nicht schon wieder zur Oxid 6 wechseln, da ja auch noch nicht sehr viele Module existieren.

Also wollte ich den shop auf php7 lauffähig machen. Ich habe es mit dem Modul von Oxid Design versucht - leider ohne Erfolg. Die Anleitung von Zoks hat leider auch nicht geholfen.

Wenn ich den shop nun auf php 7 umstelle erscheint erst “shop offline” (auch im backend). Wenn ich dann den tmp Ordner leere kommt folgende Fehlermeldung:

Fatal error : Uncaught Error: Call to undefined function mysql_query() in /core/adodblite/adodbSQL_drivers/mysql/mysql_driver.inc:352 Stack trace: #0
/core/adodblite/adodb.inc.php(311): mysql_driver_ADOConnection->do_query(‘SET @@session.s…’, -1, -1, false) #1 core/oxdb.php(355): ADOConnection->Execute(‘SET @@session.s…’) #2 /oxid/core/oxdb.php(495): oxDb->_setUp(Object(object_ADOConnection)) #3 /oxid/core/oxdb.php(553): oxDb->_getDbInstance() #4 /oxid/core/oxutilsobject.php(633): oxDb::getDb() #5 core/oxutilsobject.php(490): oxUtilsObject->_getModuleVarFromDB(‘aModules’) #6 /core/oxutilsobject.php(291): oxUtilsObject->getModuleVar(‘aModules’) #7 /core/oxutilsobject.php(174): ox in oxid/core/adodblite/adodbSQL_drivers/mysql/mysql_driver.inc on line 352

Könnte mir da bitte jemand helfen?

“hat nicht geholfen” ist keine qualifizierte Problembeschreibung.
Außerdem funktioniert die Anleitung von Zoks, das weiß ich aus eigener Erfahrung.

Wir sollten dort ansetzen, wo Du bei der Anleitung von Zoks nicht weitergekommen bist.

Hallo vanilla_thunder,

danke für die Antwort. Der Werdegang war folgender: Ich habe zuerst die Zoks Anleitung versucht. Damit kamen die Fehlermeldungen. Dann alles wieder Rückgängig gemacht und die Version von Oxid Design versucht. Ebenfalls das gleiche. Erst “shop offline” dann tmp geleert - Fehlermeldungen

Hallo bacosta, der error erscheint meines Erachtens, weil PHP 7 kein mysql mehr kennt. Hast du denn mal probiert in der config.inc.php den ‘dbType’ auf ‘mysqli’ umzustellen?

PHP7 unterstützt auch kein mysql, was schwarz auf weiß in der Anleitung von Zoks steht.
Wir bräuchten hier schon die Fehlermeldungen, die der Shop angezeigt hat.

Hallo Jemma,
ja, auch die Umstellung auf mysqli habe ich gemacht. Dennoch blieben die Fehler. Da ich auch nicht mehr ins Backend komme, konnte ich die Views nicht updaten. Kann das damit zu tun haben?

Es lag an der PHP Version. 7.0.28 funktioniert, neuere leider nicht. Ich hatte es mit 7.2…versucht…

Du hast in der Exception Call to undefined function mysql_query(). ==> Du hast die Umstellung auf mysqli nicht oder nicht richtig gemacht.
Nach der Umstellung wird nicht mehr mysql (die gibt es bei 7.2 nicht mehr) aufgerufen sonder mysqli.
Deshalb in der config.inc.php $this->dbType = ‘mysqli’ setzten. So werden aus mysql Aufrufen mysqli Aufrufe. Und tmp löschen. Dann läuft´s
Gruß

1 Like