it-swarm.com.de

die Ausgabe von error_log () für print_r () wird auf der Seite angezeigt

Ich versuche ein Plugin zu debuggen und benutze error_log() an verschiedenen Stellen, um zu sehen, was verschiedene Dinge sind. Ich benutze folgendes:

error_log( print_r( $variable ) );

Wenn ich mir debug.log ansehe, sehe ich nur 1 und die eigentliche Ausgabe der Funktion error_log() wird stattdessen an den Browser gesendet.

Ich weiß, dass ein anderes Plugin dies nicht tut, da mit Ausnahme des Plugins, das ich schreibe, alle deaktiviert sind und ich in meinem wp-config.phpWP_DEBUG_DISPLAY als false definiere.

Das gleiche passiert, wenn ich var_dump() und var_export() benutze. Andere Funktionen wie gettype() und solche funktionieren einwandfrei.

Gibt es eine Möglichkeit, die Ausgabe wieder in debug.log zu übertragen?

3
Cedon

Die Funktion print_r akzeptiert den zweiten Parameter für return, sodass sie die Variable zurückgibt, anstatt sie zu drucken.

print_r($expression, $return)

Also kannst du es tun

error_log( print_r( $variable, true ) );
6
Shibi

Wenn Ihre Variable nur eine Zeichenfolge ist, können Sie einfach error_log ( $variable ) verwenden. Wenn es sich um ein Objekt oder ein Array handelt, das nicht print_r() verwendet, können Sie es auch serialisieren:

error_log ( serialize ( $variable ) );
1
Jack Johansson