• Guten Morgen, die Seite ist seit wenigen Tagen online. Jetzt habe ich gesehen, dass WP zum Zustand sagt, dass Besuchern Fehler angezeigt würden (WP_DEBUG_DISPLAY). Ich hatte mal so ein Plugin laufen, das aber wieder gelöscht ist. In der wp -config.php habe ich dies gefunden:

    if ( ! defined( ‚WP_DEBUG‘ ) ) {

    }

    define( ‚WP_ENVIRONMENT_TYPE‘, ‚local‘ );

    define( ‚WP_DEBUG‘, true );

    /* That’s all, stop editing! Happy publishing. */

    /** Absolute path to the WordPress directory. */

    if ( ! defined( ‚ABSPATH‘ ) ) {

                   define( ‚ABSPATH‘, __DIR__ . ‚/‘ );

    }

    Soll ich bei define(WP_DEBUG .. das true auf false setzen, oder was wäre der richtige Weg?
    Vielen Dank und einen schönen Samstag

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

Ansicht von 6 Antworten – 1 bis 6 (von insgesamt 6)
  • Hallo @orpheus55,

    Soll ich bei define(WP_DEBUG .. das true auf false setzen, oder was wäre der richtige Weg?

    das ist grundsätzlich richtig.

    Hier noch ein paar Erläuterungen:
    Sichere bitte zunächst die wp-config.php auf deinem lokalen Rechner.
    Änderungen solltest du mit einem geeigneten Programmier-Editor (z. B. Notepad++) vornehmen.

    Weitere Infos zum Debugging findest du hier.

    Viele Grüße
    Hans-Gerd

    Thread-Starter orpheus55

    (@orpheus55)

    Hallo Hans-Gerd, vielen Dank. Das hat schon mal geklappt zu früher Stunde.

    super – freut uns. Danke für die Rückmeldung und “Gelöst”-Markieren. 👍

    Moderator Bego Mario Garde

    (@pixolin)

    if ( ! defined( 'WP_DEBUG' ) ) {

    }

    macht erst einmal … nichts. Es prüft, ob die Konstante WP_DEBUG gesetzt wurde, um dann exakt nichts auszuführen. Das war sicher mal anders geplant?

    define( 'WP_ENVIRONMENT_TYPE', 'local' );

    setzt einen Wert für die Konstante WP_ENVIRONMENT_TYPE . Erlaubt sind die Werte local, development, staging und production, die jeweils angeben, in welcher Umgebung WordPress genutzt wird. Damit kann man zum Beispiel alle JavaScript-Dateien in ihren unkomprimierten Form ausführen, solange man an der Website arbeitet, aber die komprimierte Version für eine öffentlich zugängliche Website („in Produktion“) verwenden. Oder du schaltest (sehr sinnvoll!) währen der Entwicklung den Debug-Modus ein, in Produktion aber aus, um Angreifern einen möglichen Fehler nicht auch noch auf dem Silbertablett zu servieren:

    define( 'WP_ENVIRONMENT_TYPE', 'development' );

    $environment = wp_get_environment_type();
    if( 'development' == $environment ) {
    define( 'WP_DEBUG', true );
    }

    Sobald du dann die Website online stellst, änderst du in der ersten Zeile den Wert von development auf production, wodurch die Konstante WP_DEBUG nicht mehr auf true gesetzt wird.

    Da Konstanten immer nur einmal definiert werden dürfen (sonst wären es ja Variablen), kannst du das ganze auch noch mit einem if-Statement versehen, das prüft, ob die Konstante ‚WP_DEBUG‘ bereits gesetzt wurde. Nur wenn nicht, wird der o.g. Code ausgeführt:

    if ( ! defined( 'WP_DEBUG' ) ) {

    define( 'WP_ENVIRONMENT_TYPE', 'development' );

    $environment = wp_get_environment_type();
    if( 'development' == $environment ) {
    define( 'WP_DEBUG', true );
    }

    }

    Hier änderst du ebenfalls den Wert development auf production, wenn die Website online geht und vermeidest so die Fehlermeldung. Fällt dir auf, dass sich ein Fehler eingeschlichen hat oder der Kunde wünscht ein weiteres Feature, kannst du die Website ruckzuck in deine Staging- oder Entwicklungsumgebung klonen, wobei dort dann der Wert weiterhin auf staging oder development steht.

    So ergibt das alles etwas mehr Sinn. 🙂

    Thread-Starter orpheus55

    (@orpheus55)

    Ah ja, vielen Dank. Tatsächlich hatte ich die Seite auf einem lokalen Host gebaut. Dann ersetze ich jetzt mal die Codezeilen, die ich oben in meiner Frage angegeben hatte, durch deine Codezeilen mit der if-Abfrage (mit ‚production‘).

    Thread-Starter orpheus55

    (@orpheus55)

    Sorry und guten Morgen, jetzt muss ich doch noch einmal nachfragen. Gestern zu später Stunde habe ich also dann in der wp-config.php meinen alten Eintrag

    if ( ! defined( ‚WP_DEBUG‘ ) ) {}
    define( ‚WP_ENVIRONMENT_TYPE‘, ‚local‘ );
    define( ‚WP_DEBUG‘, true );

    ersetzt durch den zweiten Code von dir, Bego, den mit der if-Abfrage, und zwar mit ‘production’ statt ‘development’. Ich verstehe ja sogar, was der Code da macht. Trotzdem war dann die Seite gar nicht mehr aufrufbar. Da habe ich dann schnell die alte Datei zurückgespielt. Das habe ich heute morgen noch einmal reproduziert, Ich frage mich, was ich da falsch gemacht haben könnte.

Ansicht von 6 Antworten – 1 bis 6 (von insgesamt 6)