web-dev-qa-db-ja.com

print_r()のerror_log()出力がページに表示される

私はプラグインをデバッグしようとしていますし、さまざまなものが何であるかを見るためにさまざまな場所でerror_log()を使っています。私は以下を使っています:

error_log( print_r( $variable ) );

debug.logを見ると、1だけが見られ、error_log()関数の実際の出力は代わりにブラウザに送信されます。

私が書いているものを除いてすべてが無効になっているので別のプラグインがこれをしていないことを私は知っています、そして私のwp-config.phpではWP_DEBUG_DISPLAYfalseとして定義します。

var_dump()var_export()を使っても同じことが起こります。 gettype()のような他の関数はうまく動いています。

出力をdebug.logに戻すにはどうすればいいですか?

3
Cedon

print_r 関数はreturnの2番目のパラメータを受け取るので、変数を表示せずに再試行します。

print_r($expression, $return)

だからあなたはできる

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

変数が単なる文字列の場合は、error_log ( $variable )を使うことができます。 print_r()を使用する以外に、それがオブジェクトまたは配列であれば、それも直列化できます。

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