Installation Error at istep 420 ("STEP_DB_CREATE")

Hey,
Version: Oxid 4.5 CE

alle Vorraussetzungen an meinen Webserver werden erfüllt, auch laut der ersten Seite des Installationsskripts. Ich klicke mich durch die Installation, gebe Datenbank-Verbindungs-Daten an, klicke auf “Datenbank jetzt erstellen” und sehe eine blanke Seite.

Die Daten sind garantiert richtig, die angegebene Datenbank ist erstellt und der MySQL-User hat die richtigen Rechte.
Schritte 400 und 410 funktionieren einwandfrei, ich bekomme die Info dass die MySQL-Daten passen.

Im Logfile meines Webservers steht

[Sun Apr 24 18:08:24 2011] [error] [client ***] PHP Fatal error:  Uncaught exception 'Exception' with message 'FEHLER: Datenbank %s nicht vorhanden und kann auch nicht erstellt werden! - No database selected' in ****/oxid4.5CE/setup/oxsetup.php:817
Stack trace:
#0 ****/oxid4.5CE/setup/oxsetup.php(2038): OxSetupDb->openDatabase(NULL)
#1 ****/oxid4.5CE/setup/oxsetup.php(2261): oxSetupController->dbCreate()
#2 ***/oxid4.5CE/setup/index.php(33): oxSetupDispatcher->run()
#3 {main}
  thrown in ****/oxid4.5CE/setup/oxsetup.php on line 817

Er versucht sich also mit www-data und keinem Passwort einzuloggen. Warum auch immer, diesen Benutzernamen habe ich nicht angegeben.

Mir scheint, dass das $aParams-Array nicht richtig an das Installationsscript übergeben wird, da ja die im Formular eingegebenen Daten nicht bis zum MySQL-Login kommen.
Gebe ich falsche Logindaten ein, kommt es gar nicht erst zur SQL-Injection sondern ich erhalte eine Fehlermeldung, dass die Daten nicht stimmten.

Habe mich an die Anweisungen des Assistenten gehalten, ich denke dies ist ein Bug, der nicht nur auf meinem Server reproduzierbar sein wird.

Erfahrungen, Fragen, Lösungsvorschläge und Sonstiges sind sehr willkommen, ich möchte nämlich Oxid ausprobieren als Alternative zu xt:Commerce.
Die Installation hat mein Bild schon etwas gedämpft.

Liebe Grüße und Vielen Dank

Ich habe es gerade testweise mit dem MySQL-Root ausprobiert. Damit funktioniert es.

Der von mir erstellte user für die oxid-datenbank hatte ALLE Rechte für die Datenbank “oxid”, die ich auch beim Installationsprozess angegeben hatte.

Welche Rechte sollte man denn über die Datenbank hinaus benötigen?
Bei vielen Hostern ist es gar nicht möglich, z.B. CREATE DB auszuführen.

Hallo,
habe gerade ein ähnliches Problem.
Habe es nicht auf einem Ubuntu 10.04, dort funktioniert es, aber auf einem debian 6 unter Plesk. Datenbankuser stimmt, bei phpinfo sieht alles ok aus.
Vermute auch Probleme mit dem $aParams-Array. Da es ein Server ist kann ich hier nur bedingt debuggen …

[Wed May 04 16:54:18 2011] [error] [client ***] PHP Fatal error: Uncaught exception ‘Exception’ with message ‘FEHLER: Keine Datenbankverbindung m\xf6glich! - Access denied for user ‘www-data’@‘localhost’ (using password: NO)’ in ***/setup/oxsetup.php:808
Stack trace:
#0 ***/setup/oxsetup.php(2038): OxSetupDb->openDatabase(NULL)
#1 ***/setup/oxsetup.php(2261): oxSetupController->dbCreate()
#2 ***/setup/index.php(33): oxSetupDispatcher->run()
#3 {main}
thrown in ***/setup/oxsetup.php on line 808

Gruß
Helmut

Das kann ich bestätigen! Habe das Problem nur auf Debian Lenny.
Ich habe auch einen Debian 4.0 Server, bei dem die Installation problemlos funktioniert hat.
Habe die Installation nochmal mit einem MySQL-User mit vollem Zugang probiert, kein Erfolg. Nur mit dem root-User lässt sich die Installation durchführen.
Ist ne Notlösung, aber ich empfehle jedem den MySQL-User in der config.inc.php zu ändern - nach der Installation funktioniert Oxid komplett mit einem User, der die Rechte auf der Datenbank hat.

Serverinfos zu Debian Lenny:
Kernel 2.6.26-2-amd64
MySQL-Version 5.0.51a-24+lenny1
PHP Version: PHP 5.3.6-10 with Suhosin-Patch (cli) (built: Apr 30 2011 11:37:46)
Apache: 2.2.17

Also bei mir scheinen es eher Session-Problem zu sein. Nach dem Check auf einen erfolgreichen Datenbankconnect kommt es zu einem Redirect. Danach werden dann die Verbindungsparameter nicht mehr gepostet sondern über die Session ausgelesen. Die sind dann leer. Vielleicht doch ein Plesk Einrichtungs - Problem obwohl ich meine alle Parameter gecheckt zu haben …
Gruß
Helmut

Und aus welchem Grund sollte es dann mit dem mysql-root funktionieren? Diese Daten liest er doch ebenso aus der Session aus?

setup/oxsetup.php line 2031:

        $aDB = $oSession->getSessionParam('aDB');

‘aDB’ wird in Zeile 1977 gesetzt:

        $oSession->setSessionParam( 'aDB', $aDB );

Das Array wird in Zeile 1924 definiert und jetzt wirds es spannend


        $aDB = $oSession->getSessionParam( 'aDB' );
        if ( !isset( $aDB ) ) {
            // default values
            $aDB['dbHost'] = "localhost";
            $aDB['dbUser'] = "";
            $aDB['dbPwd']  = "";
            $aDB['dbName'] = "";
            $aDB['dbiDemoData'] = 1;
        }


Jetzt ist mir klar, warum bei mir im Errorlog www-data als User stand, es war kein anderer angegeben und deswegen wurd der Nutzer verwendet, der apache ausführt. also ist $aDB noch nicht definiert, sonst würden nicht diese Zuweisungen dort stehen. Das wiederum bedeutet, es ist etwas faul an $oSession->getSessionParam(‘aDB’).
Wo wird der aDB Session Parameter gesetzt? Suche nach setSessionParam(‘aDB’): Fund in Zeile 1977.
In Zeile 1973 wird das definiert, was dann an die Session übergeben wird.
In Zeile 2014 sehen wir allerdings auch, dass dem View Object der aDB Array übergeben wird.
Da wir das Problem ja auf die Session eingrenzen konnte, habe ich probiert in der dbCreate() function nicht über $oSession->getSessionParam(‘aDB’) die Daten abzufragen sondern über $oView->getViewParam ( ‘aDB’);
[B]UND SIEHE DA! Es funktioniert![/B]

Man suche nach Zeile 2031

        $aDB = $oSession->getSessionParam('aDB');

und ersetze es durch folgendes:

//        $aDB = $oSession->getSessionParam('aDB');
        $aDB = $oView->getViewParam( "aDB" );

Bitte fragt mich nicht, warum es mit dem $oSession->setSessionParam nicht funktioniert in Zeile 1977.

Wenn ich mir meinen Post hier nochmal durchlese verstehe ich ihn selbst nicht mehr. Aber es funktioniert durch das da oben :wink:
Vielleicht schon etwas spät, hab heute ne Abiklausur geschrieben :stuck_out_tongue:
Bin sowieso erst paar Wochen mit Oxid unterwegs, deswegen entschuldigt meine Verwirrtheit

Hallo,
das Problem lag bei mir in der Begrenzung des GET durch Suhosin:
bei Weitergabe der Daten betrug der GET-Parameter > 559 Zeichen, Suhosin setzt aber den Standard-Wert suhosin.get.max_value_length auf 512!
Also in der php.ini z.B.

suhosin.get.max_value_length = 1000

Gruß
Helmut

Ich habe ebenfalls Suhosin auf meinem Server, in /etc/php5/conf.d/suhosin.ini war die Zeile

suhosin.get.max_value_length = 512

auskommentiert, aber er wird dann wohl Standardwerte geladen haben.
Nachdem ich den Wert auf 1000 gesetzt habe, ging es auch mit der Standard-oxsetup.php.
$oView->setViewParam() wird über POST übergeben, daher hat es den Erfolg erzielt.

Vielen Dank Helmut!

An die Oxid-Admins: Vielleicht sollte man das in die Server-Anforderungen schreiben, dass suhosin.get.max_value_length auf xxx gestellt werden muss?

Gruß

Hallo an alle,

bei mir klappt es auch nach der Änderung mit sushoin nicht, muss ich da noch was anders ändern,? Habe nach wie vor eine weiße Seite im Schitt 4 und eine leere DB:::???

LG Frank

Nach der Änderung der config solltest Du Deinen Apache Webserver neustarten.

Bei mir hat die Änderung des Wertes auf 1024 die gewünschte Veränderung gebracht.

:confused:
habe nun alle eure Tips ausprobiert auch den Server neugestartet aber der Fehler bleibt ich erhalte immer noch Fehler 500 mit der berühmten weißen Seite.
kann mir jemand helfen???

Wie hast Du denn die Installationsdaten hochgeschoben? Via ftp oder mittels wget oder über Confixx / Cpanel / SysCP?

per filezilla auf auto
werde jetzt noch mal alles runter hauen und binär hochladen mal sehen ob es dann klappt

Die hier erwähnten Tipps hast Du ausprobiert?

Gibts evtl. Log-Einträge? Eine genaue Fehlermeldung?

Tipps habe ich alle ausprobiert.

[Sat Aug 06 20:36:29 2011] [error] [client 88.75.205.137] PHP Fatal error: Uncaught exception ‘Exception’ with message ‘FEHLER: Keine Datenbankverbindung m\xf6glich! - Access denied for user ‘www-data’@‘localhost’ (using password: NO)’ in
/./././httpdocs/setup/oxsetup.php:808
Stack trace:
#0
/./././httpdocs/setup/oxsetup.php(2038): OxSetupDb->openDatabase(NULL)
#1
/./././httpdocs/setup/oxsetup.php(2261): oxSetupController->dbCreate()
#2
/./././httpdocs/setup/index.php(33): oxSetupDispatcher->run()
#3 {main}
thrown in
/./././httpdocs/setup/oxsetup.php on line 808, referer: http://meine-domain.de/setup/index.php

habe die Url und meine Domein raus gekürzt wegen :wink: Schleichwerbung und bessere Übersichtlichkeit

Hat die DB ein Passwort?

Ja habe ich auch eingegeben

So nun schon mehrmals alles runter und wieder hoch geladen alle hier erwähnten Tipps auch mehrmals ausprobiert mir fällt nix mehr ein. :confused:
Hilfeeee hat jemand noch einen Rat für mich oder eine Lösung.:confused:

Moin!

Vielleicht kann ich zur Abwechslung mal helfen?

Hatte die gleichen Probleme und Fehler. Dann am Server nur PHP 5.2 eingestellt und die Installation flutscht einwandfrei durch…mit PHP 5.3 oder alten Versionen ging es nicht !

Hallo es lag an meiner Du…keit :rolleyes:
wusste nicht das ein “;” Zeilen auskommentieren.
Habe den Wert auf 1024 gestellt, aber das “;” stehen lassen und alles war umsonst.
Aber nun geht es danke.