[gelöst] Nach Umzug Fehler "Keine Verbindung zu der DB möglich"
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 12.02.2010 - 12:05 Uhr in
Hallo Leute, habe hier ein Problem:
Ich habe mir bei einem Webhoster einen Test-Account anlegen lassen und wollte mal prüfen, wie meine Seite dort läuft.
Habe also alle Daten von meiner Website per FTP gezogen und auf den Test-Account hochgeladen.
Danach habe ich ein Backup der DB gemacht und dieses Backup ebenfalls im Test-Account eingespielt.
Zuletzt habe ich noch die settings.php geändert: Habe dort die $db_url angepasst (also "mysqli://web**:passwort@localhost/usr_web**_2';" eingetragen) und diese settings.php dann nach /sites/default geschoben.
Wenn ich jetzt aber die Seite aufrufe, bekomme ich nur eine weiße Seite und ganz links oben steht "Keine Verbindung zu der Datenbank möglich".
Danach habe ich alle Daten wieder gelöscht und die DB komplett geleert und eine frische Drupal-Installation (6.15) hochgeladen und installiert. Habe zum Installieren die gleiche DB angegeben, wie ich sie in die settings.php eingetragen hatte. Installiert, fertig, neue Installation lief.
Anschließend habe ich diese settings.php (welche durch die Installation gefüllt wurde) gesichert und alle Daten gelöscht sowie die DB geleert. Nun wieder die Daten meiner eigentlichen Website dort hochgeladen und das DB-Backup in die entsprechende Datenbank eingespielt. Als letztes habe ich noch die ursprüngliche settings.php meiner Website mit der gesicherten settings.php der frischen Installation ersetzt.
Und trotzdem kommt immer noch der besagte Fehler =(
Habe ich etwas übersehen oder falsch gemacht? Ich stehe hier gerade total auf'm Schlauch -,-'
Ich hoffe, ihr könnt mir helfen.
mfg Exterior
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo Exterior Zitat: und
am 12.02.2010 - 16:18 Uhr
Hallo Exterior
und ganz links oben steht "Keine Verbindung zu der Datenbank möglich".
du meinst im Browser Titel??
das kenn ich garnicht (bzw hab das noch nie gesehen..) das ein PHP Error
im Browser Titel angegeben wird..!? Aber das heisst nix weil
ich hab warscheinlich nie so genau hingekuckt :)
Also, ich würde in der Ursprungs-Drupal -Version (quelle)
ersteinmal alle Module deaktivieren die nicht unmittelbat
nötig sind und diese Version dann auf dem Testserver transferieren.
Mir scheint das nämlich ein Modul Problem zu sein.
Oder hast du eventuell auf deinem quell Server 'clean url' aktiviert
aber der Testserver unterstützt das gar nicht?
Nee, nicht im Browsertitel,
am 12.02.2010 - 18:42 Uhr
Nee, nicht im Browsertitel, sondern ich bekomme eine weiße Seite in der nur besagte Zeile steht. Diese Zeile steht eben links oben in der Ecke dieser weißen Seite und nicht zentriert oder so, das war damit gemeint ;-)
Ich habe zwar clean-urls aktiviert, aber der Test-Server unterstützt die ebenfalls, denn bei der frischen Installation hatte ich auch clean-urls aktiviert.
Mmmh, was meinst du genau mit "nicht unmittelbar nötig"? Damit die Seite so funktioniert, wie sie soll, braucht sie ja alle Module, die momentan aktiv sind. Wenn ich zum Beispiel Views deaktiviere, fehlt ja gleich mal ein beträchtlicher Teil der Seite.
Wie genau sieht die fehler
am 12.02.2010 - 22:23 Uhr
Wie genau sieht die fehler Meldung aus?
Ist das ein PHP Fatal Error?
Was sagt dein Error Log?
Mit Module die nicht unmittelbar nötig sind, meinte ich
das Du die deaktivierst die nicht Core required sind
(eventuell temporär eine entsprechende Frontpage anlegen)
und dann, wenn es keinen DB Connect Error mehr gibt
die zusätzlichen Module wieder installierst...
Also so würde ich das angehen.
Eigendlich würde ich auch davon ausgehen
das die DB Connection über die settings.php geregelt wird.
Ergo: kann der Fehler 'nur' irgendwo in einem Modul
zufinden sein ..auch wenn das schon eine heftige Inkonsistenz
in der Architektur des Moduls bedeuten würde..
Ich hatte diese Art von Problem noch nie bei meinen
mittlerweile unzähligen Drupal Umzügen von einem
Server auf den anderen...
Verbindung test mit phpmyadmin
am 13.02.2010 - 05:59 Uhr
Moin,
teste doch erstmal die Verbindung mit nem PHP-Script oder mit phpmyadmin.
So z.B.:
<?php
$server = "localhost";
$user = "drupal-user";
$password = "very-secret-passwort";
$dbase = "your-database";
$conn = mysql_pconnect ($server, $user, $password);
if ($conn) {
} else {
print "DB open failed";
exit;
}
$select = mysql_select_db($dbase,$conn);
mysql_close($conn);
?>
Gruß,
Ced
Die Fehlermeldung kann man
am 13.02.2010 - 08:29 Uhr
Die Fehlermeldung kann man hier bewundern:
http://s3b.directupload.net/file/d/2069/jzcxlpm5_jpg.htm
Und eine Verbindung zur DB ist möglich, hab's gerade per Skript getestet. Und eine frische Drupal-Installation kommt damit ja auch klar.
Aber ich probier mal noch ein wenig mit den Modulen herum und schalte vor dem SQL-Dump mal die clean-URLs ab usw. Aber seltsam ist es trotzdem =(
Wenn noch jemand eine Idee hat, dann gerne her damit ;-)
clean-urls halte ich für
am 13.02.2010 - 09:18 Uhr
clean-urls halte ich für unwahrscheinlich, da die startseite keine parameter übergibt. die fehlermeldung hierfür sieht auch anders aus.
eventuell findest du in den log-dateien einen fehler, welches php-skript den fehler verursacht. evtl. sogar mit zeilennummer. dann wärst du einen schritt weiter.
schau mal im /var/log/apache2/error.log nach oder im /var/log/mysql.log (dafür musst du das logging ggfs. aktivieren irgendwo)
gruß
Ced
Nachsatz:
Die Meldung steht nicht in einem übersetzten Modul. (Zumindest kein Core oder was ich so benutze: CCK und die üblichen).
Der String: "Keine Verbindung zu der Datenbank" taucht auch im ganzen Drupal-Verzeichnis nicht auf.
Mach mal selbst:
grep "Keine Verbindung zu der Datenbank" * -R
Da wird vermutlich nix kommen.
Geh mal ein Verzeichnis höher (dein WWW-verzeichnis) und mach das gleiche nochmal. Dann findeste evtl.das Script, das den Fehler ausgibt.
hi Exterior also wie ced
am 13.02.2010 - 13:02 Uhr
hi Exterior
also wie ced schon sagte
'Keine Verbindung zur der Datenbank möglich'
ist defenitiv keine drupal Meldung
ist das Verzeichniss denn wirklich leer?
was fuer eine index.php liegt da ?
Irgendwie muss es doch klappen =(
am 15.02.2010 - 17:33 Uhr
Welches Verzeichnis genau soll denn leer sein?
Ich habe dort leider nur einen Test-Webspace, da ist nicht viel los mit Error-Logs oder SSH-Zugriff =(
Habe jetzt schon einiges versucht... Alle Module, außer Kern-Module deaktiviert, clean-URLs ausgeschaltet...
Außerdem habe ich wie gesagt eine frische Installation durchgeführt (welche 1A funktioniert), habe dann in /sites/all meine Module und Themes hochgeladen, habe also die settings.php und die .htaccess der frischen, funktionierenden Installation behalten, und habe anschließend ein SQL-Dump (bei welchem ich vorher die Cache-Tabellen und die Watchdog-Tabelle geleert (nicht gelöscht) habe) in die DB der Drupal-Installation eingespielt
--> Nach wie vor der selbe Fehler "Keine Verbindung zu der Datenbank möglich."
Weiß noch irgendjemand Rat? Wäre wirklich klasse, denn sonst bedeutet das, dass ich evtl. echte Probleme bekomme, wenn ich meine Seite mal umziehen will =(
Mal ne ganz dumme Frage, Du
am 15.02.2010 - 18:33 Uhr
Mal ne ganz dumme Frage, Du hast in den Settings mysqli benutzt. Stimmt die Angabe des Datenbankservers? Sonst einfach mal das "i" bei mysqli entfernen. Evtl ist bei Deinem Hoster diese PHP-Erweiterung nicht installiert.
Beste Grüße
Werner
falsche Konfiguration
am 15.02.2010 - 20:10 Uhr
die Fehlermeldung bezieht sich nicht auf Drupal
Sind die Leserechte eventuell nicht gesetzt, einfach mal testen. Leg doch mal eine beliebige index.htm und ein index.php an an. Wenn das auch nicht geht lösch mal die .htaccess Datei im root-Verzeichnis. Sollte nicht schlimmes sein und liegt auch nicht an Drupal.
Gruss
katasun
Die settings.php wurde ja
am 15.02.2010 - 20:59 Uhr
Die settings.php wurde ja aber durch eine frische Installation "befüllt" und diese hat einwandfrei funktioniert, warum sollte es nicht mehr funktionieren, wenn ich in der DB einige Datensätze hinzufüge?
Habe aber probehalber mal das "i" entfernt, aber der Fehler kommt immer noch =(
@katasun
An den Leserechten kann es auch nicht liegen, weil ich wie gesagt eine frische Version installiert habe und diese problemlos funktioniert hat. Danach habe ich nur noch das Datenbank-Backup eingespielt und schon kam der Fehler =(
Ich hab's!!!
am 15.02.2010 - 21:22 Uhr
Wuah, ich hab's gefunden! =)
Zu meiner Schande muss ich aber gestehen, dass es an meiner eigenen Dummheit lag und ihr den Fehler wohl gar nicht finden konntet -,-' Aber ich danke euch trotzdem ganz herzlich für eure Hilfe =)
Wo lag das Problem?
Ich habe mal probehalber /user aufgerufen und da konnte ich mich doch glatt einloggen, kein Fehler, nichts. Also schnell als Admin eingeloggt, Startseite aufgerufen --> Fehler...
Dann habe ich mal die Verwaltung unter /admin aufgerufen und siehe da, es springt mir rot eine dubiose Meldung entgegen:
warning: mysql_connect() [function.mysql-connect]: Access denied for user 'web65'@'localhost' (using password: YES) in /home/www/web33/html/sites/all/themes/pixture_reloaded/template.php on line 290.
Da beschlich mich eine leise Vorahnung des Problems, also template.php gezogen, geöffnet und runter zu Zeile 290 gescrollt und mein Verdacht, ich könnte vielleicht dämlich gewesen sein, hat sich leider bestätigt -,-'
Ich hatte ganz zu Beginn meiner Arbeiten an dieser Seite die Ausgabe der Submitted-Angaben in der template.php verändert.
Dabei habe ich ein paar Daten aus der User-Tabelle geholt, also eine SQL-Abfrage gemacht. Vielleicht hätte man das ganze auch mit db_query machen können, aber davon wusste ich damals noch nicht so viel, weil's noch ganz am Anfang war.
Also habe ich eine eigene DB-Verbindung angelegt, das ganze hat auch funktioniert.
Und in diesem Code kommt folgender Text vor:
<?php
$verbindung = mysql_connect($host, $usr, $pw) or die ("Keine Verbindung zu der Datenbank möglich.");
mysql_select_db($db, $verbindung);
?>
Hui, das kommt einem bekannt vor... Die Startseite wurde mittels des Page-Inhaltstyps angelegt --> dort gäbe es also auch eine Submitted-Ausgabe --> Konnte nicht zur DB verbinden und gibt mir einen Fehler aus. Also habe ich in der template.php schnell die Daten angepasst (wollte nur schauen, ob es funktioniert, vielleicht hätte ich diese Verbindung auch ganz raus nehmen können, aber so ging es erstmal schneller) und schon hat es funktioniert =)
Also, Problem beseitigt und mal wieder festgestellt, dass der größte Bug vor dem Rechner sitzt -,-'
Vielen Dank für eure Hilfsbereitschaft =)
(Und ich habe noch vor ein paar Tagen darüber nachgedacht, dass ich diese unsaubere Submitted-Ausgabe mal ändern könnte -,-' Ach, das Leben kann gemein sein...)
Glückwunsch!!! Ich kenn das
am 16.02.2010 - 11:36 Uhr
Glückwunsch!!!
Ich kenn das gut: tagelange verzweifelte Suche, um dann festzustellen das man selber
den Fehler verursacht hat :)
(..die Wand neben meinem Schreibtisch hat schon tiefe Einschlaglöcher im Putz...)
Die Ausgabe 'Keine Verbindung zu der Datenbank möglich.' war ja eigendlich ein klarer Hinweis
darauf das das keine Drupal Error Message war.
Hätte man den String direkt in allen Daten suchen lassen (automatisch
mein ich mit zb 'extended search' oder 'file search' des Editors)
dann wärst Du da warscheinlich schneller drauf gestossen...
Aber hinterher weiss man ja immer alles Besser :)
Grüße
Stef