[gelöst] Fatal error: Call to a member function getOption - Admin-Bereich weg
am 14.02.2015 - 17:47 Uhr in
Hallo Drupal Freunde,
ich habe ein großes Problem: ich kann den Admin-Bereich nicht mehr erreichen.
Es wird folgende Fehlermeldung nach dem login ausgegeben:
Fatal error: Call to a member function getOption() on a non-object in /homepages/10/d557399424/htdocs/Drupal/sites/all/modules/search_api/contrib/search_api_views/includes/query.inc on line 251
Ich hoffe, dass ich das Thema hier richtig platziert habe, oder gibt es einen gesonderten Bereich für "Fatal Error"?
Es gibt zwar bereits andere Forenthemen hier wo auch kein Zugang mehr zum Admin-Bereich besteht aber die Ursachen und damit auch die Lösungen sind dort anders.
Mittels Google konnte ich das Problem auch noch nicht beheben.
Hintergrund:
Da die Search API nicht so funktioniert wie gewollt wollte ich einen neuen Search-Server und einen neuen Such-Index erstellen.
Da ich Komplikationen mit den vorhandenen Search-Server und Such-Indizes vermutete wollte ich diese deaktivieren.
Als ich jedoch auch den zweiten Suchindex (von insgesamt 2 Suchindizes) deaktiviert hatte brach die Website zusammen und es wird oben aufgeführter Fehler ausgegeben.
Es wurde zwar beim Deaktivieren der Indexe darauf hingewiesen, dass Views den Suchindex verwendet. Das habe ich jedoch ignoriert da mir nicht klar war was passiert.
Installation:
Drupal 7x.-1.5 & MySQL
Theme: Zen
Module:
Search API, Search API database, Facet API, Entity API, Chaos Tools, Views, Display-Suite (Display Suite Search), Media, File Entity
Problemlösungs-Ansätze:
Ich habe zwar Backups mittels "Backup and Migrate" erstellt ohne Zugriff auf den Admin-Bereich weiß ich jedoch nicht wie ich diese Backups laden kann.
Wie ich das über MySQL anstelle ist mir auch nicht klar. Ich habe versucht eine Backupdatei (.sql) unter myphpadmin zu laden jedoch auch ohne Erfolg - es kommt eine Fehlermeldung.
Eine weitere Idee ist über den FTP-Client das Script zu öffnen welches in der Fehlermeldung (siehe oben) aufgeführt ist und dort eine Korrektur im Script vorzunehmen, sodass das ich wieder in den Admin-Bereich komme und ein Backup ausführen kann.
Betroffen Zeile 251 im Script:
// Set the search ID, if it was not already set.
if ($this->query->getOption('search id') == get_class($this->query)) {
$this->query->setOption('search id', 'search_api_views:' . $view->name . ':' . $view->current_display);
Ich weiß jedoch nicht was ich in diesem Script ändern müsste.
Ich hoffe mir kann noch geholfen werden und es ist nicht alles verloren :-)
Für eure Hilfe wäre ich sehr dankbar!!
Viele Grüße
Tom
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo zusammen,von Werner
am 14.02.2015 - 20:28 Uhr
Hallo zusammen,
von Werner wurde mir bereits eine Lösungsidee zugespielt.
Allerdings habe ich dazu noch fragen.
Daher kopiere ich den Lösungsvorschlag von Werner hier hin und stelle meine Fragen:
Werner Lösungsvorschlag:
"Ich würde dazu wie folgt vorgehen:
Mittels FTP in sites/default die Datei default_settings.php nach settings.php umkopieren.
Alle Tabellen in der Drupal-Datenbank mittels phpMyAdmin löschen.
Die Seite aufrufen und eine Installation durchlaufen.
Das Modul Backup&Migrate aktivieren.
Die Datenbank Sicherung einspielen.
Jetzt sollte die Seite wieder funktionieren."
Meine Fragen/Antwort zu diesem Vorschlag:
Wenn ich dich richtig verstehe soll ich Drupal komplett neu installieren und dann mittels neu installiertem "Backup & Migrate" ein vorhandenes Backup wiederherstellen - richtig?
Wenn ich dich weiter richtig verstehe soll ich die Datei "default_settings.php" in die Datei "settings.php" kopieren - also den Textinhalt der "default_settings.php" in den Textinhalt der "settings.php" kopieren und anschließend die originale "default_settings.php löschen - richtig?
Nur wo in der "settings.php" muss ich das einfügen?
Tabellen mittels phpmyadmin löschen bekomme ich noch hin.
Mit "Seite aufrufen" meinst du, dass ich über den Browser auf meine Website gehen soll?
Und wie führe ich dann eine Installation dort durch?
Ich habe einen Host bei 1&! und habe Drupal per 1ClickApp installieren lassen...
Hosting-Packet "Unlimited" ohne Root-Zugriff.
Hinweis: Ich bin ein Drupal-Anfänger.
Viele Grüße
Tom
Gelöst Hallo zusammen, ich
am 14.02.2015 - 20:37 Uhr
Gelöst
Hallo zusammen,
ich habe das Problem mit dem Admin-Bereich dann doch noch auf einfachem Wege gelöst - ohne
eine Neuinstallation und ohne Backup einspielen.
Ich habe einfach mal in der Adresszeile des Browsers den Zusatz /admin angefügt.
Damit bekam ich die Admin-Menüs wieder und konnte die deaktivierten Indizes wieder aktivieren.
Damit läuft die Website jetzt wieder scheinbar normal.
Ich wünschte die Idee wäre mir eher gekommen.
Anfänger halt...
Es wäre jedoch wünschenswert wenn die noch offenen Fragen zu Werners Lösungsvorschlag beantwortet werden
könnten.
Für schwerwiegender Problemfälle wäre dann auch hier erklärt wie eine kaputte Website wiederbelebt werden kann.
Anschließen würde ich das Forenthema mit [gelöst] kennzeichnen.
Vielen Dank für eure Hilfe.
Ich finde übrigens das Drupal Center echt toll und vor allem großen Respekt vor den Leuten hier,
die bei Problemen und Fragen helfen!!
VG
Tom
In der settings.php steht die
am 14.02.2015 - 21:35 Uhr
In der settings.php steht die Info über die Datenbankanbindung. In der default_settings.php fehlt die. Wenn die settings.php also durch eine Kopie der default_settings.php ersetzt wird, startet Drupal beim nächsten Aufruf das Installation-Script. Die Datenbank muß allerdings vorher gesäubert werden, sonst bricht die Installation ab. Da Du in einem solchen Szenario alle Module noch an Ort und Stelle hast, kannst Du nach der Installation direkt Backup&Migrate aktivieren. Damit bist Du in der Lage, die vorhandene Sicherung einzuspielen. Danach paßt alles wieder zusammen.