質問
- Wordpress: WP_DEBUG が有効にならない
-
本文:
メールを送信するプラグインがすべて動作しなくなってしまったので、デバッグモードで実行してログを調査しようとしていますが、有効になりません。
wp-config.php は次のように設定しました。
define('WP_DEBUG', true);
if (WP_DEBUG) {
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
}
これで一通り操作して /wp-content を見てみたのですが、debug.log が作られていませんでした。またブラウザにも notice は表示されません。
/wp-content のパーミッションを 777 にしてみたり、wp-config.php のエンコーディング(UTF-8 BOMなし)を確認してみたのですが問題は解決しませんでした。
Webcrow ではデバッグモードにする時に何かコツがいるのでしょうか? - 緊急度:通常投稿者:bboydaisukeさん投稿時間:2015/09/26 22:07
回答 No.3889
-
本文:
朝6時をまわった頃に、何もしていないのにいつの間にかメールが送信されるようになっていました。
smtpを含む各種サービスを定期再起動するcronでも動いているのかな、と想像しています。 - 投稿者:bboydaisukeさん 投稿時間:2015/09/27 13:10
回答 No.3887
この回答がベストアンサーです
wp-config.php の
define('WP_DEBUG',false);
の行を修正するのでなく、他の場所に
define('WP_DEBUG', true);
if (WP_DEBUG) {
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
}
を追加したとか???
質問者からのコメント
コメントありがとうございます。
もう一つ webcrow にテスト用サーバーを立ててそちらのwp-config.phpに同じことを書いてみたら、そちらのサーバーにはdebug.txtが出力されたので、場所は間違ってないはずです。
もちろん最初に define('WP_DEBUG',false); があった場所を修正しています。
元々の問題はメールが送れないことなので、Check Email というただ wp_mail() でメールを送るだけのプラグインを入れて実行してみたところ、問題のサーバーではメールが送られませんでした。先のテスト用サーバーではメールが送られました。
そこでプラグインのコードを書き換えて、wp_mail() が false を返した時に $GLOBALS[‘phpmailer’]->ErrorInfo を表示するようにしてみたところ、ErrorInfo に “Could not instantiate mail function.” というメッセージが入っていました。どうもローカルの SMTP サーバーに接続できないみたいなのですが、telnet 等での接続はサポートされておらず、メールサーバーが生きているか簡単に確認することができないのでサポートに問い合わせないとわからないかな…と考えています。