Diverse gleiche Wordpress-Seiten auf dem gleichen Server. Die einen gehen, die anderen nicht.

  • Hallo Zusammen

    Ich wollte meine WP-Seiten auf PHP 8.1 umstellen.

    Auf meinem Server laufen mehrere Seiten mit den gleichen Plugins usw.

    Die WP-Version, die Plugins und die Themes sind auf dem neuesten Stand.

    Doch die einen Seiten laufen problemlos mit PHP 8.1, bei den anderen kommt bei der Umstellung die weisse Seite.

    Ich habe alles mehrmals durchgecheckt und weiss nicht mehr, wo ich noch suchen soll.

    Was könnte ich trotzdem übersehen haben?

    Danke und viele Grüsse

    Roland

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Nicht jedes Plugin und Theme ist PHP 8.1 kompatibel, versuche es mal mit PHP 8.0.

    .. die Plugins und die Themes sind auf dem neuesten Stand.


    Der "neuste Stand" eines Themes oder Plugins kann auch bereits Jahre alt sein.

    .. kommt bei der Umstellung die weisse Seite.


    Mehr zur Ursache dafür findet man im Error-Log des Servers oder z.B. über [FONT=Courier New]WP_DEBUG[/FONT].

    Manchmal sind es bei PHP 8.x Problemen ganz simple Dinge wie z.B. falsche/unpassende Anführungszeichen in [FONT=Courier New]wp-config.php[/FONT] o.ä., die z.B. per Copy&Paste von irgendwelchen Tipps dort gelandet sind.

  • Danke für die Infos.

    Ich habe alles Themes und Plugins welche vor kurzem ein Update bekommen haben. Ältere habe ich gelöscht.

    Mit PHP 8 habe ich es versucht. Wenn ich umstelle erscheint auch die weisse Seite.

    Mit dem Error-Log oder über WP_DEBUG muss ich mich erstmal anfreunden. Verstehe zur Zeit nur Bahnhof...

    Mir geht einfach nicht in den Kopf, weshalb die einen Seiten laufen und die anderen nicht. Obwohl alle das gleiche Theme und die gleichen Plugins haben.

    Ich bleibe dran:-).

  • .. weshalb die einen Seiten laufen und die anderen nicht. Obwohl alle das gleiche Theme und die gleichen Plugins haben.

    • Prüfen ob es wirklich exakt die gleichen WordPress/Theme/Plugins Dateien sind, also ohne jegliche Änderungen (ggf. Hacks o.ä.)
    • Manuell eingefügte Dinge in [FONT=Courier New]wp-config.php[/FONT] und/oder [FONT=Courier New].htaccess[/FONT] prüfen.

  • Mir geht einfach nicht in den Kopf, weshalb die einen Seiten laufen und die anderen nicht. Obwohl alle das gleiche Theme und die gleichen Plugins haben.

    Wenn alles gleich ist... kann es an der wp-config.php liegen bzw. am "falschen" fehlerhaften Editor, mit der du diese Datei bearbeitet hast.

    Einmal mit einer IDE öffnen die letzte Ziele Löschen wenn dies ein ?> ist.


    und den Provider nach einer error Log fragen. Ohne Fehlermeldung kann man nicht helfen..
    und die htaccess neu erstellen / prüfen

    Mit offenen Augen träumen

  • Ich habe mir die error-Log angeschaut. Folgendes zeigt es mir an:

    Parse error: syntax error, unexpected character 0x00, expecting end of file in meineWebseite/wp-config.php on line 117

    Wenn ich mir die wp-config.php herunterlade und anschaue, finde ich auf der Linie 117 nichts - die ist leer.

    Gehe ich die Sache falsch an oder übersehe ich etwas?

  • Dieser Fehler bedeutet, dass es ein Problem mit der Syntax deines PHP-Codes gibt. Mögliche Ursachen sind:

    • du hast eine schließende Klammer }, ein Semikolon ; oder ein anderes Zeichen vergessen.
    • du hast HTML-Code direkt in einem PHP-Tag geschrieben, ohne ihn mit echo auszugeben.

    Wenn du keine IDE hast, kannst du deinen Code (ohne Datenbank-Zugangsdaten) mit https://phpcodechecker.com/ prüfen

    117 Zeilen hat eine wp-config.php in der Regel nicht.

    Der fremde Code kann auch in einer anderen Spalten zahl sein. (einfach [size=18]Horizontal[/SIZE]
    scrollen)

    Mit offenen Augen träumen

  • Habe den Code der wp-config.php mit dem phpcodechecker geprüft.

    Das Ergebnis: No issues detected.

    Und bei den error-Logs zeigt es mir den Fehler mit der Zeile 117 an.

    Da komme ich wirklich nicht mehr draus.

  • Habe den Code der wp-config.php mit dem phpcodechecker geprüft.

    Das Ergebnis: No issues detected.

    phpcodechecker sollte mindestens einen "Fehler" nennen.


    Code
    ( !defined('ABSPATH') )
       define('ABSPATH', dirname(__FILE__) . '/');
    
    
    require_once(ABSPATH . 'wp-settings.php');

    Und bei den error-Logs zeigt es mir den Fehler mit der Zeile 117 an.

    du könntest ohne Zugangsdaten die wp-config.php hier veröffentlichen und wir könnten den Fehler suchen.

    Bei mir hat einmal ein "WordPress Sicherheitsprogramm" die wp-config beschreiben und das Zeichenformat vernichtet. Erkennbar an den fehlerhaften Umlauten in der wp-config.php

    // Wenn du verschiedene [COLOR=#b30000]Pr?fixe[/COLOR] benutzt, kannst du innerhalb einer Datenbank an

    Du könntest mit Notepad++ dann eine neue Datei erstellen und die bestehende ersetzten, die wp-config.php sollte uft-8 Format haben
    https://notepad-plus-plus.org/downloads/

    Mit offenen Augen träumen

  • Hier ist meine wp-config.php

    <?php
    /**
    * Grundeinstellungen für WordPress
    *
    * Zu diesen Einstellungen gehören:
    *
    * * MySQL-Zugangsdaten,
    * * Tabellenpräfix,
    * * Sicherheitsschlüssel
    * * und ABSPATH.
    *
    * Mehr Informationen zur wp-config.php gibt es auf der
    * { Link https://codex.wordpress.org/Editing_wp-config.php wp-config.php editieren}
    * Seite im Codex. Die Zugangsdaten für die MySQL-Datenbank
    * bekommst du von deinem Webhoster.
    *
    * Diese Datei wird zur Erstellung der wp-config.php verwendet.
    * Du musst aber dafür nicht das Installationsskript verwenden.
    * Stattdessen kannst du auch diese Datei als wp-config.php mit
    * deinen Zugangsdaten für die Datenbank abspeichern.
    *
    * @package WordPress
    */

    // ** MySQL-Einstellungen ** //
    /** Diese Zugangsdaten bekommst du von deinem Webhoster. **/

    /**
    * Ersetze datenbankname_hier_einfuegen
    * mit dem Namen der Datenbank, die du verwenden möchtest.
    */
    define('DB_NAME', „von mir gelöscht");

    /**
    * Ersetze benutzername_hier_einfuegen
    * mit deinem MySQL-Datenbank-Benutzernamen.
    */
    define('DB_USER', „von mir gelöscht");

    /**
    * Ersetze passwort_hier_einfuegen mit deinem MySQL-Passwort.
    */
    define('DB_PASSWORD', „von mir gelöscht");

    /**
    * Ersetze localhost mit der MySQL-Serveradresse.
    */
    define('DB_HOST', „von mir gelöscht");

    /**
    * Der Datenbankzeichensatz, der beim Erstellen der
    * Datenbanktabellen verwendet werden soll
    */
    define('DB_CHARSET', ‚von mir gelöscht');

    /**
    * Der Collate-Type sollte nicht geändert werden.
    */
    define('DB_COLLATE', '');

    /**#@+
    * Sicherheitsschlüssel
    *
    * Ändere jeden untenstehenden Platzhaltertext in eine beliebige,
    * möglichst einmalig genutzte Zeichenkette.
    * Auf der Seite { Link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
    * kannst du dir alle Schlüssel generieren lassen.
    * Du kannst die Schlüssel jederzeit wieder ändern, alle angemeldeten
    * Benutzer müssen sich danach erneut anmelden.
    *
    * @since 2.6.0
    */
    define('AUTH_KEY', 'Füge hier deine Zeichenkette ein');
    define('SECURE_AUTH_KEY', 'Füge hier deine Zeichenkette ein');
    define('LOGGED_IN_KEY', 'Füge hier deine Zeichenkette ein');
    define('NONCE_KEY', 'Füge hier deine Zeichenkette ein');
    define('AUTH_SALT', 'Füge hier deine Zeichenkette ein');
    define('SECURE_AUTH_SALT', 'Füge hier deine Zeichenkette ein');
    define('LOGGED_IN_SALT', 'Füge hier deine Zeichenkette ein');
    define('NONCE_SALT', 'Füge hier deine Zeichenkette ein');

    /**#@-*/

    /**
    * WordPress Datenbanktabellen-Präfix
    *
    * Wenn du verschiedene Präfixe benutzt, kannst du innerhalb einer Datenbank
    * verschiedene WordPress-Installationen betreiben.
    * Bitte verwende nur Zahlen, Buchstaben und Unterstriche!
    */
    $table_prefix = 'wp_';

    /**
    * Für Entwickler: Der WordPress-Debug-Modus.
    *
    * Setze den Wert auf „true“, um bei der Entwicklung Warnungen und Fehler-Meldungen angezeigt zu bekommen.
    * Plugin- und Theme-Entwicklern wird nachdrücklich empfohlen, WP_DEBUG
    * in ihrer Entwicklungsumgebung zu verwenden.
    *
    * Besuche den Codex, um mehr Informationen über andere Konstanten zu finden,
    * die zum Debuggen genutzt werden können.
    *
    * @Link https://codex.wordpress.org/Debugging_in_WordPress
    */
    define( 'WP_DEBUG', false );

    /* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. */
    define( 'WP_SITEURL', 'https://von mir gelöscht/' );
    /* That's all, stop editing! Happy blogging. */

    /** Der absolute Pfad zum WordPress-Verzeichnis. */
    if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

    /** Definiert WordPress-Variablen und fügt Dateien ein. */
    require_once(ABSPATH . 'wp-settings.php');

  • Code
    unexpected character 0x00

    deutet auf ein Zeichensatzproblem hin. Das hat mit fehlerhaftem PHP-Code nichts zu tun. Lade dir die wp-config.php mal runter und schau sie dir in einem fortschrittlichen Editor wie Notepad++ an. Der zeigt dir an in welchem Zeichensatz die Datei gespeichert ist. Im Idealfall sollte das utf-8 ohne BOM sein. Wenn Du einen anderen Editor lokal nutzt, sollte der dir das ebenfalls anzeigen und Änderungen ermöglichen.

  • Nach der letzten Zeile 116 mit[FONT=Courier New] ..wp-settings.php');[/FONT] befindet sich in Zeile 117 ein offenbar nicht sichtbaren Sonderzeichen, das in div. Darstellungen von Text das Ende eines Textbereichs markiert. Das Sonderzeichen und alles dahinter gilt es zu entfernen, ggf. mit einem HexEditor oä. Könnte ein Hack sein, der dort so seinen Code verschleiern will/wollte.

  • Hier ist meine wp-config.php

    Die scheint in Ordnung. Beachte aber, dass die Werte von Konstanten nicht mit Anführungszeichnen erfasst werden.

    Code
    define('DB_NAME', „von mir gelöscht");


    ^- ist falsch

    Code
    define( 'DB_NAME', 'datenbankname_hier_einfuegen' );

    Deine wp-config.php Datei kann beschädigt sein.

    Du kannst mit Notepad++ eben eine neue wp-config.php erstellen
    https://notepad-plus-plus.org/downloads/

    Du öffnest die wp-config-sample.php, trägst deine Datenbankzugangsdaten ein und speicherst diese als wp-config.php

    Wenn du keine wp-config.php zur Verfügung hast, kannst du eine Kopie der Originaldatei von meinem GitHub-Account downloaden
    https://github.com/r23/MyOOS/blob…nfig-sample.php

    Die bestehende wp-config.php würde ich nicht überschreiben, sondern per ftp umbenennen (oder vor dem Löschen sichern). Die neue Datei hochladen und die Rechte auf nur lesen setzten r-- r-- r-- (chmod 444)

    Wenn du die wp-config.php mit einem richtigen Werkzeug bearbeiten möchtest, kann ich dir

    NetBeans empfehlen
    https://netbeans.apache.org/

    Dafür gibt es auch ein WordPress Plugin
    https://plugins.netbeans.apache.org/?search=wordpress&nbv=&cat=
    den aktuellen Stand kenne ich allerdings nicht.

    Mit offenen Augen träumen

  • So, es hat funktioniert. Alle meine Webseiten laufen mit PHP 8.1.

    Ich habe es mit dieser Variante gemacht: Du öffnest die wp-config-sample.php, trägst deine Datenbankzugangsdaten ein und speicherst diese als wp-config.php

    Muss ich sonst noch auf etwas achten?

    Gibt es ein Plugin, welches ihr mir empfehlen könnt, damit ich automatisch über Fehler etc. informiert werde?

    Vielen Dank nochmals an alle für die Hilfe. Ich weiss dies sehr zu schätzen.


  • Gibt es ein Plugin, welches ihr mir empfehlen könnt, damit ich automatisch über Fehler etc. informiert werde?

    WordPress informiert per Mail bei Problemen.

    Über externe Dienstleister kann man auch einen kostenpflichtigen Monitor installieren

    Mit offenen Augen träumen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!