Hallo,
ich habe folgendes Problem:
Ich habe mir vor einiger Zeit Owncloud 3.0.0 auf meinen lokalen Webserver installiert. MySQL USE ist in der make.conf festgelegt, Apache wurde auch mit PHP-Unterstützung compiliert usw. und das ganze lief auch... Ich ging auf die Webseite von Owncloud und gab meine MySQL root Daten und den Datenbanknamen in die INstallationsmaske von Owncloud ein und dann war es auch schon installiert!
Soweit sogut... Nur dann ist durch eine etwas peinliche Aktion dann eben das htdocs Verzeichnis bzw. das untergeordnete Owncloud Verzeichnis gelöscht wurden und ich ließ die Versuche mit Owncloud... Nun sind in der Zwischenzeit Version 3.0.3 und Version 4.0.0 erschienen. Dann wollte ich das Ganze nochmal testen und löchte erstmal die alte Datenbank in MySQL und erstellte eine neue, gleichnamige... Dann installierte ich Owncloud wieder mit webapp-config in einen vHost wie vorher und ging auf die installationsseite... Als ich dann aber meine root Daten und den DB-Namen wieder eingab erschien eine Fehlermeldung die mit MDB2 anfing und besagte dass owncloud sich nicht mit der besagrten DB verbinden konnte... Aber ich hatte das ganze doch schon SO in Betrieb gehabt...
Nun habe ich geschaut was das Problem sein könnte... Und erstmal nach der Fehlermeldung geschaut... MDB2 ist Datenbankabstraktionssystem und muss eigendlich für owncloud installiert sein für die Nutzung mit MySQL... Aber ich bin sicher ich hatte dieses NIE installiert, da es auch keine Abhängigkeit ist von Owncloud... Dann habe ich weitergesucht und gesehen dass Owncloud erst testet ob in PHP der PDO-Treiber zur Verfügung steht und wenn nicht dann erst MDB2 nutzt. Also schaute ich nach und sah dass PHP kein PDO als USE hat und auch nie hatte... Wie kann das also sein dass ohne PDO und MDB2 Owncloud 3.0.0 lief??? Oder wurde das in den Versionen nach 3.0.0 geändert???
Auf jeden Fall habe ich dann eben das USE PDO und MySQL sowieso in der make.conf eingetragen und PHP wurde auch mit allem compiliert und sogar MySQL einfach so auch nochmal... Aber er kann sich immer noch nicht connecten und die Fehlermeldung fing immer noch mit MDB2 an... Also emergte ich das besagte MDB2 und auch MySQL nochmal und machte einen reboot... Nun funktioniert das ganze immer noch nicht und nichts hat sich verändert... Dazu kommt noch dass Owncloud sich bei der eingabe der DB-Daten sehr merkwürdig verhält:
Wenn ich z.b. als Admin "Benutzer" eingebe und als dbuser "root", dann wird in die config.php von Owncloud als dbuser "oc_Benutzer" eingetragen oO Ich glaube das kann ja nur ein Bug von owncloud selber sein... Dann habe ich eben mal einen superuser in MySQL aller "oc_Benutzer" erstellt und dann bekomme noch mehr merkwürdige Fehlermeldungen... Habe dazu auch Owncloud auf 3.0.3 runterinstalliert. Dann ändern die Meldungen sich. siehe unten. Hat niemand owncloud mal unter MySQL installiert?
[Error message: Could not execute statement] [Last executed query: PREPARE mdb2_statement_mysql_311821e6891bc91bac35f848b58047a34c12e16ad FROM 'INSERT INTO oc_principals (uri,displayname) VALUES(?,?)'] [Native code: 1146] [Native message: Table 'owncloud.oc_principals' doesn't exist]
Strict Standards: Only variables should be assigned by reference in /var/www/localhost/htdocs/owncloud/3rdparty/MDB2/Driver/mysql.php on line 798
DB Error: "MDB2 Error: no such table"
Offending command was: INSERT INTO oc_principals (uri,displayname) VALUES(?,?)
Wäre lieb wenn mir wer helfen würde. Der Host ist auch richtig angegeben... Aber alleine schon dass er MDB2 hier verwenden will obwohl ja PDO verwendet werden sollte weil es ja auch damit emergt wurde und php -m es als Modul auch listet ist merkwürdig... Und ich hatte vor dieser Installation wie gesagt weder PDO NOCH MDB2. Jemand Ideen?? Sehr strange!
Aber soo ein krasser Bug in einem Hauptrelease kann ja garnicht sein... Also kann höchstens ein Problem mit dem ebuild vorliegen, was aber eigendlich kaum möglich sein kann. Kann mich unter den Daten problemlos connecten zum MySQL-Server. Also daran liegt es auch nicht. Verwende PHP 5.3-x wie empfohlen und MySQL 5.1.x.
Liebe Grüße
Chris