Ich verwende WP_DEBUG_LOG in meiner Entwicklungsumgebung und habe keine Probleme damit, dass sich debug.log im Verzeichnis wp-content befindet.
Manchmal schalte ich WP_DEBUG in der Produktion ein, wenn ich etwas debuggen muss, und ich möchte das Protokoll weiterhin verwenden, möchte es jedoch zu etwas außerhalb meines Webstamms umleiten. Ist das mit WP_DEBUG_LOG möglich?
Es scheint, dass die Antworten hier nicht mehr für WP Version 5.1 und höher zutreffen, seit diese Änderung https://make.wordpress.org/core/2019/01/23/miscellaneous-developer-focused-changes-in-5-1 /
Sie können jetzt
WP_DEBUG_LOG
einen Pfad definieren, wenn Sie den Standardwert überschreiben möchten.wp-content/debug.log
Beispiel:quelle
Ja, wenn Sie einem Plugin oder der functions.php eines Themes Code hinzufügen, wie folgt:
Bearbeiten: Jemand anders hat mich gerade darauf hingewiesen, dass ich dies tun muss. Ich habe also Code in ein einfaches Plug-in eingefügt, das von ihm bearbeitet werden kann. Es ist als Kern verfügbar, wenn jemand es will.
quelle
Es sieht so aus, als ob sich der WordPress-Code geändert hat, seitdem die letzte Antwort auf diese Frage veröffentlicht wurde. Die aktuelle Funktion wp_debug_mode (), die sich auf diese Konstanten bezieht, enthält einen Test, ob WP_DEBUG_LOG gleich true oder 1 ist. In diesem Fall verhält sie sich so, wie es andere beschrieben haben.
Sie können diese Konstante jedoch auch auf einen String setzen - Ihren bevorzugten Dateipfad - und das Protokoll wird dort ausgegeben. Beispielsweise können Sie einen Pfad außerhalb Ihrer Verzeichnisse für öffentlich zugängliche Webinhalte festlegen. Möglicherweise müssen Sie mit Dateiberechtigungen spielen, damit dies funktioniert.
Ich habe nach dieser Antwort gesucht, weil sich das WordFence-Sicherheits-Plugin darüber beschwert, dass in / wp-content / möglicherweise auf mein Debug-Protokoll zugegriffen werden kann.
if ( in_array( strtolower( (string) WP_DEBUG_LOG ), array( 'true', '1' ), true ) ) { $log_path = WP_CONTENT_DIR . '/debug.log'; } elseif ( is_string( WP_DEBUG_LOG ) ) { $log_path = WP_DEBUG_LOG; } else { $log_path = false; }
quelle
Afaik, Sie können den Speicherort für die Standard-Debug-Datei nicht ändern. Sie können den Speicherort für das MU-Fehlerprotokoll sowie den Speicherort für die PHP-Fehlerprotokolldatei ändern.
quelle