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