4.10.7 auf Debian 9


#1

Hallo alle,

ich weiß nicht mehr weiter. Habe einen Kunden mit 4.8.4 oder so und will auf einen neuen Server umziehen, Root-Server unter Debian 9.
Ich hab mich vorher nicht schlau gemacht und war der festen Überzeugung, dass Oxid EShop längst mit PHP 7 läuft, weshalb ich PHP 7.0 installiert habe. MySQL: Community-Server 5.7. Natürlich möchte ich dann auch einen neuen Oxid EShop und hab mich für die CE-Version 4.10.7 entschieden. Ich habe die Installationsdateien nach Anleitung an PHP 7 angepasst, wobei ich der Meinung bin, dass da auch noch ein Fehler war (einige mysql_error()-Aufrufe (bzw. nach Änderung mysqli_error()-Aufrufe) ohne Argument in oxsetup.php, hab dann, wo es fehlte, “$this->getConnection()” in die Klammer eingefügt.
Ich rufe also das Setup auf, bei den Voraussetzungen sind überall nur grüne Haken. Dann komme ich zum vierten Schritt. Eine leere Datenbank hatte ich schon angelegt. Dann meckert das Setup, dass es die Datenbank nicht anlegen kann, da sie schon existiert. Lösche ich die Datenbank und klicke dann auf “Datenbank anlegen”, wird diese angelegt, man sieht kurz die Meldung, dass sie angelegt wird und die Tabellen erstellt und die Daten kopiert werden (oder so), und dann erscheint eine weiße Seite mit der Ziffer 1 als HTML-Quellcode, was ja auf einen PHP-Fehler hindeutet, und ich bekomme das hier im Apache-Errorlog:

[Sun May 06 18:41:46.777140 2018] [:error] [pid 12804] [client 79.236.91.109:19809] PHP Fatal error: Uncaught Exception: FEHLER: Datenbank %s nicht vorhanden und kann auch nicht erstellt werden! - in /home/webs/cortaflex/httpdocs/shop/setup/oxsetup.php:955\nStack trace:\n#0 /home/webs/cortaflex/httpdocs/shop/setup/oxsetup.php(2260): OxSetupDb->openDatabase(Array)\n#1 /home/webs/cortaflex/httpdocs/shop/setup/oxsetup.php(2512): oxSetupController->dbCreate()\n#2 /home/webs/cortaflex/httpdocs/shop/setup/index.php(37): oxSetupDispatcher->run()\n#3 {main}\n thrown in /home/webs/cortaflex/httpdocs/shop/setup/oxsetup.php on line 955
In der Zeile 955 habe ich auch $this->getConnection() eingefügt. Hätte ich vielleicht eher $this->oConn einfügen sollen, weil die Datenbank ja schon geöffnet ist, nachdem sie angelegt wurde?

Eines noch, aber ich glaube nicht, dass es was damit zu tun hat: Der bisherige alte Shop läuft noch auf dem alten Webserver. Auf dem neuen hab ich Apache genauso konfiguriert. Damit ich beim Aufrufen des Shops nicht den alten, sondern den neuen Shop aufrufe, habe ich auf meinem Windows-PC in die Datei hosts einen Eintrag mit der IP-Adresse des neuen Servers gemacht. Hat bisher funktioniert. Könnte das Setup-Skript noch aus irgendeinem Grund versuchen, auf den alten Server zuzugreifen? Es weiß doch noch gar nicht, unter welcher Domain es laufen soll. Hab sicherheitshalber auch in der /etc/hosts des neuen Servers einen Eintrag gemacht, aber das hat nichts geändert.

Bin für jede Hilfe unendlich dankbar.
Gruß
Fero


#2

Zum einen gibt es ein Modul, das die PHP7-Kompatibilität herstellt: https://www.oxid-design.com/blog/oxid-php7-update/

Und zum anderen diverse How-Tos im Netz: https://www.zoks.net/kompatibilitat-von-oxid-shop-ce-und-php-7-0/ oder https://scale.sc/oxid-eshop-fuer-php-7-patchen/

Ich habe seinerzeit nach dem How-To von Zoks gearbeitet und der Shop läuft auf meinem lokalen PHP7 absolut problemlos.


#3

oder du installierst eine alte php version…


#4

Das würde ich gerne versuchen, aber ich kann es nicht herunterladen. Ein Facebook-Konto und ein Twitter-Konto habe ich nicht, und auch, wenn ich mich bei Google anmelde, kommt bei einem Klick auf G+ nur ein Fenster, wo ich einen Text schreiben und posten kann. Sonst passiert da nichts.

Ich habe es nach der zweiten Anleitung versucht. Vielleicht habe ich trotzdem etwas falsch gemacht, ich weiß es nicht.

Ich wünschte, das könnte ich auch sagen. Einen Versuch mache ich noch, sonst probiere ich es mal mit PHP 5.
Ich danke Dir für Deine Antwort. Sorry, dass ich mich so lange nicht gemeldet habe, ich hab zu viel um die Ohren.
Viele Grüße

Fero


#5

Wie oben schon gesagt, das werde ich wohl versuchen, wenn es gar nicht klappt.
Oder kann mir einer dieses Update-Modul irgendwie zuschicken?
Vielen Dank auch Dir und viele Grüße

Fero

Nachtrag: Ich habe PHP 5.7 installiert, jetzt läuft der Shop.