• Gelöst janedoe9988

    (@janedoe9988)


    Hallo liebe Experten,
    ich verzweifle hier fast und hoffe auf Eure Hilfe.

    Seit dem 18.3.22 wirft meine bei Strato gehostete Seite immer mal wieder 500er-Fehler aus. Die statt der gewünschten Landingpage angezeigte Fehlermeldung ist „Fehler beim Aufbau einer Datenverbindung“.

    Fehlerverhalten:
    • Einzelne Landingpages der Website sind nicht aufrufbar.
    • Es kommt zu einer der beiden im Anhang gezeigten Fehlermeldungen. Das passiert im Frontend und auch bei der Arbeit im Backend.
    • Es handelt sich nicht immer um die gleichen Landingpages. Welche Seiten
    vorübergehend die Fehler auswerfen, ist vollkommen beliebig.
    • Nach Reload (F5) ist die Landingpage entweder sofort wieder erreichbar oder die Fehlermeldung erscheint erneut. Erschien die Landingpage nach dem ersten Reload nicht wieder, ist sie nach weiteren Reloads wieder erreichbar. (->Das Problem liegt somit nicht an der Website an sich, sondern an der Datenbankerreichbarkeit. Oder?)
    • Der Fehler zeigt sich in allen verwendeten Browsern (Chrome, Firefox, Edge, Opera) sowohl am Desktop als auch mobile.

    Mein SEO-Tool (ahrefs) meldet diese Fehler. Es sind auch in diesen Reportings immer unterschiedliche Landingpages. Die Fehleranzahl ist mal steigend, mal fallend.

    Was ich schon versucht habe:
    • PHP-Version verändert (von 7.4 auf 8.0 bzw. 8.1 jeweils mit aktiviertem PHP Boost und ohne. Auch die Version 7.4 wurde mit und ohne PHP Boost getestet). -> keine Verbesserung
    • Datenbank in phpmyadmin repariert und optimiert -> bei der Reparatur bekomme ich bei den meisten Tabelleninhalten die Meldung, dass sie nicht repariert werden können (weil sie InnoDB sind?) -> keine Verbesserung
    • Per FTP in wp-config.php Server erweitert um „:3306“ -> keine Besserung, rückgängig gemacht
    • Pagespeed Ninja deaktiviert -> keine Besserung, rückgängig gemacht
    • WordPress aktualisiert (im WP-Dashboard)
    • Theme (BAM) aktualisiert, zwei weitere Themes (Be und Twenty ???) gelöscht
    • Seit diesen Versuchen habe ich keinen Zugriff mehr auf das Backend. Ich bekomme beim Aufruf von /wp-admin einen weißen Screen. Alle hier beschriebenen Tipps habe ich nach bestem Wissen und Gewissen durch. Ich habe es nicht hinbekommen und habe weiterhin keinen Zugriff auf das Backend. 🙁
    • WP Cache gelöscht in FTP -> keine Verbesserung
    • Plugins per FTP deaktiviert -> keine Besserung, rückgängig gemacht

    Was sonst noch wichtig sein könnte
    • In der htaccess wurden am 24.3.22 Anpassungen vorgenommen. Dies ist dort enthalten:

    
    #This Apache config file was created by Duplicator Installer on 2021-11-17 20:47:43.
    #The original can be found in archived file with the name .htaccess__[HASH]
    
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    <IfModule mod_headers.c>
    Header set Strict-Transport-Security "max-age=15768000; includeSubDomains" env=HTTPS
    </IfModule>
    
    # BEGIN WordPress
    # Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind
    # dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
    # Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress

    Infos zum Website-Zustand:

    Erweiterung: mysqli
    Server-Version: 5.7.36-log
    Client-Version: 5.6.45
    Datenbank-Benutzername: dbu******
    Datenbank-Host: rdbms.strato.de
    Datenbank-Name: dbs******
    Tabellenpräfix: wp_
    Datenbank-Zeichensatz: utf8mb4
    Datenbank-Kollation: utf8mb4_unicode_520_ci
    Maximal erlaubte Paketgröße: 67108864
    Maximale Anzahl von Verbindungen: 3000

    • Hier im Website-Zustand kam außerdem einmal (dann nicht mehr) die längere Fehlermeldung "Der Aufruf der REST-API führte zu folgendem unerwarteten Ergebnis: (500) <!DOCTYPE html> <html dir='ltr'> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ..." Leider habe ich hier nicht den ganzen Text kopiert. Da ich jetzt nicht mehr ins Backend komme, kann ich leider auch nicht mehr probieren, den ganzen Text herauszukopieren.

    Den Strato-Support habe ich mehrfach kontaktiert. Ohne Erfolg.

    Kann mir hier irgendjemand helfen? Ich bin einfach nur noch verzweifelt. Ich bin dankbar für jeden Hinweis!
    Viele Grüße
    Nadine

    • Dieses Thema wurde geändert vor 2 Jahren, 5 Monaten von janedoe9988.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 13 Antworten – 46 bis 58 (von insgesamt 58)
  • @janedoe9988
    Traust du dir zu, in einem PHP-Script zu Testzwecken eine kleine Erweiterung einzubauen? Du brauchst dazu einen FTP-Zugang (hast du ja) und einen geeigneten Editor w.z.B. Notepad++ (nicht zu verwechseln mit dem Window-Notepad)

    Thread-Starter janedoe9988

    (@janedoe9988)

    Danke, @hupe13. Was soll ich in der Konsole genau nachsehen? Welche Info kann ich Dir da liefern?

    @bscu: Ja, klar. Da bin ich ja eh schon unterwegs gewesen.

    Vorab aber noch dies:
    Leider scheint das mit den Plugins nichts zu bewirken: Ich habe alle (wirklich alle) deaktiviert, mal eine Stunde lang nichts gemacht. Dann bin ich im Inkognito-Modus (wer weiß, wofür es gut ist) in Chrome und anschließend in Firefox ins Backend gegangen und das Verhalten ist unverändert. Es kommt immer wieder der Datenbankfehler. Auch nachdem ich die Browserdaten gelöscht habe (auch hier: Wer weiß, wofür es gut ist …) Im „Normalmodus“ (also nicht inkognito) das Gleiche.

    Was bleibt nun noch? Hoster wechseln? Theme wechseln?

    Bevor du die Datei erweiterst, unbedingt vorher sichern!

    Es geht um die Datei wp-includes/wp-db.php

    Zeile 1759 und 1760 sehen so aus:

    			if ( $this->dbh->connect_errno ) {
    				$this->dbh = null;

    Vor diese Zeilen fügst du das ein:

                if (! $this->dbh->connect_errno ) {
                     $query = "SHOW STATUS WHERE <code>variable_name</code> = 'Threads_connected'";
                     
                     $this->_do_query($query);
                     
                     $data = mysqli_fetch_assoc($this->result);
                     
                     echo "Count connections: " . $data['Value'] . "<br>";
                }

    Dann kopierst du das Script auf den Server und rufst dann die Seite auf. Oben links sollte dann die Ausgabe erfolgen. Wird von deiner WordPress-Instanz mehrfach ein Connect auf die Datenbank aufgerufen, sollten mehrfach diese Ausgaben kommen. Allerdings hat die Sache einen Haken. Wenn ein Plugin eine Datenbank-Verbindung ohne die Klasse wbdb von WordPress aufmacht, kann man das auch damit nicht feststellen. Und ob das wirklich weiterhilft, kann ich auch nicht garantieren, ist nur ein Versuch, um einer Lösung näher zu kommen.

    Aber nochmal: vorher eine Kopie der Datei wp-db.php anlegen!

    ACHTUNG: das Forum haut die Backticks im Code kaputt, das < code > und < /code > (ohne Blanks) müssen durch ein Backtick ersetzt werden.

    Es geht auch ohne die Backticks:

    if (! $this->dbh->connect_errno ) {
                     $query = "SHOW STATUS WHERE variable_name = 'Threads_connected'";
                     
                     $this->_do_query($query);
                     
                     $data = mysqli_fetch_assoc($this->result);
                     
                     echo "Count connections: " . $data['Value'];
                }
    • Diese Antwort wurde geändert vor 2 Jahren, 5 Monaten von bscu.
    • Diese Antwort wurde geändert vor 2 Jahren, 5 Monaten von bscu.
    • Diese Antwort wurde geändert vor 2 Jahren, 5 Monaten von bscu.
    • Diese Antwort wurde geändert vor 2 Jahren, 5 Monaten von bscu.
    Thread-Starter janedoe9988

    (@janedoe9988)

    Hey @bscu: Danke Dir!

    Ich habe das eben eingebaut und bekomme eine einzeilige Anzeige: Count Connections 15.
    Nach Reload sind es 20.
    Nach Reload 11.
    Nach Reload wieder 20.

    Es steht dort immer nur eine Zeile mit dem jeweiligen Wert. Ich habe die php nun wieder durch die Originalversion ersetzt.

    Hilft das irgendwie?

    Also pro Seiten-Aufruf immer nur eine Ausgabe. Wenn kein Plugin an WordPress vorbei eine Datenbank-Verbindung aufbaut, scheint mir das dann doch ein Server-Problem zu sein. Aber eine 100% Gewähr ist das leider auch nicht.

    Meldet Query Monitor auch Fehler im Frontend?

    Was soll ich in der Konsole genau nachsehen?

    – Prinzipiell Fehler in der Konsole
    – Bei Netzwerkanalyse nachschauen, ob eine Datei beim Laden was anderes als den Statuscode 200 oder 301 bringt.

    Falls du noch irgendwo eine andere Domain laufen hast, könnte man eine Kopie der Seite darauf ablegen und testen, ob das Problem auch auf einem anderen Server besteht.

    wordpress_size: 13,57 GB (14570475170 bytes)
    uploads_size: 2,50 GB (2681779284 bytes)

    Ich würde ja erstmal dem hier nachgehen, wie @hage schon empfohlen hat.

    • Diese Antwort wurde geändert vor 2 Jahren, 5 Monaten von hupe13.
    Thread-Starter janedoe9988

    (@janedoe9988)

    Hallo, kurzes Update:

    @hupe13: Query Monitor hat mir keine Fehler im Frontend gezeigt.
    In der Konsole wäre mir mit meinem Laienauge jetzt auch nichts aufgefallen.

    @bscu: Ja, das war auch mein Gedanke. Allerdings bekomme ich die Inhalte mit Duplicator nicht aufgespielt. Ich bekomme einen 502er …

    Immerhin habe ich heute zweimal Kontakt mit Strato gehabt. Sie schauen sich das Ticket jetzt an. (Nett von ihnen …) Wenn es bis Donnerstagabend nicht läuft, wechsle ich den Hoster.

    Wenn es bis Donnerstagabend nicht läuft, wechsle ich den Hoster.

    Dann suche schon mal einen neuen Hoster 😉

    Thread-Starter janedoe9988

    (@janedoe9988)

    Hallo in die Runde,

    nun habe ich den Hoster gewechselt, der Fehler ist weg, die Seite ist deutlich schneller und alles ist wunderbar. Es lag also ohne jeden Zweifel an Strato. Danke für nichts, Strato.

    Herzlichen Dank Euch allen noch einmal für Eure Zeit, Ideen und die Hilfe! Es ist toll, dass Ihr Euch da so engagiert! Vielen, vielen Dank!

    @hage : Ich hätte eine Bitte: Da es in diesem doch sehr langen Thread ja nun leider keine Lösung gab, wäre meine Frage, ob man den Beitrag löscht? Alternativ wäre es klasse, wenn man sensible Daten wie die URL etc. herausnimmt. Geht das? Herzlichen Dank!

    Da es in diesem doch sehr langen Thread ja nun leider keine Lösung gab

    Natürlich gab es eine Lösung, ich habe relativ früh auf ein Serverproblem hingewiesen, das war doch eine Lösung 😉

    Alternativ wäre es klasse, wenn man sensible Daten wie die URL etc. herausnimmt.

    Warum? Und wieso sensibel? Was ist an einer URL sensibel?

    Und das Problem hat du auch noch nicht gelöst:

    Ist dir eigentlich schon aufgefallen, dass im Footer die Links nicht mehr sichtbar sind, wenn man mit der Maus darüber ist?

    Du könntest diesen Thread bitte noch als gelöst markieren.

    • Diese Antwort wurde geändert vor 2 Jahren, 5 Monaten von bscu.
    • Diese Antwort wurde geändert vor 2 Jahren, 5 Monaten von bscu.

    nun habe ich den Hoster gewechselt, der Fehler ist weg, die Seite ist deutlich schneller und alles ist wunderbar.

    Es freut mich, dass du eine Lösung gefunden hast – auch wenn die aus dem Wechsel des Webhosters bestand. Dass es „in diesem doch sehr langen Thread ja nun leider keine Lösung gab“ stimmt allerdings nicht.
    Da eine Diskussion, ob du eine Lösung gefunden hast, uns hier wenig bringt, schließe ich den Thread und markiere ihn als gelöst.

    … wäre meine Frage, ob man den Beitrag löscht?

    Fünf Teilnehmende haben sich mit deinen Fragen, Error-Logs, Website-Bericht und langen Antworten beschäftigt und ihre freie Zeit dafür eingesetzt, dir zu helfen. Wieso sollten wir plötzlich den kompletten Thread löschen und damit auch die Beiträge der anderen Teilnehmenden entfernen?

    Du kannst deine Daten entsprechend DSGVO entfernen lassen, womit dein Account gelöscht wird. Dazu findest du unter https://wordpress.org/about/privacy/data-erasure-request/ ein Formularfeld, in dem du deine E-Mail-Adresse angeben kannst. Ansonsten löschen wir hier keine Beiträge und ändern auch nicht nachträglich Inhalte, sofern nicht gegen Forenregeln verstoßen wurde.

Ansicht von 13 Antworten – 46 bis 58 (von insgesamt 58)
  • Das Thema „Hier und da 500er, nach Reload (F5) kein Fehler mehr“ ist für neue Antworten geschlossen.