2026年6月27日
2026年6月27日
WordPressのプラグイン競合によるエラーを特定する方法
はじめに
プラグイン競合は、複数のプラグインが同じ関数やファイルを試みるため、予期しないエラーが発生する可能性があります。この記事では、このような問題を迅速に診断し、解決するためのステップを提供します。
症状・背景
このテーマが必要になる主な場面:
- ページや投稿ページで「白い画面」(white screen of death)が表示される
- フロントエンドまたはバックエンドで予期しないエラー通知が表示される
- ウェブサイトのパフォーマンスが低下し、遅延やフリーズが発生する
- アクセスログやエラーログに「Fatal error: Call to undefined function」などのメッセージがある
手順・設定方法
ステップ1: プラグインの無効化と有効化
# ファイルシステム上のwp-content/pluginsディレクトリに移動します。
cd /path/to/wordpress/wp-content/plugins/
# wp-disableプラグインを使用して問題のあるプラグインを一時的に無効化します。
# または、wp-cliコマンドで個別に無効化
sudo -u www-data wp plugin deactivate problematic-plugin
# 白い画面が解消されたら、個々のプラグインを再有効化して問題のあるものを探します。
sudo -u www-data wp plugin activate another-plugin
ステップ2: PHPエラーロギングの設定
# php.iniファイルを開き、display_errorsとlog_errorsの値を'on'に変更します。
sudo nano /etc/php/7.4/apache2/php.ini
; エラー表示を有効化
display_errors = On
; ログ出力を有効化
log_errors = On
ステップ3: WP_DEBUGモードの使用
# wp-config.phpファイルを開き、WP_DEBUG設定を'on'に変更します。
sudo nano /path/to/wordpress/wp-config.php
// WP_DEBUG を'on'に設定
define('WP_DEBUG', true);
// デバッグ情報をログに出力する場合
define('WP_DEBUG_LOG', true);
ステップ4: アクセスとエラーログの確認
# Apacheのアクセスログを確認します。
tail -f /var/log/apache2/access.log
# エラーログを確認します。具体的なエラーがここに記録されます。
tail -n 100 /var/log/apache2/error.log
注意事項
- デバッグモードは、パブリックサイトでは開けないでください。これはセキュリティ上のリスクを引き起こします。
- 特定のプラグインが原因であると判明したら、その代替手段を探してみてください。
- 重複する機能を持つプラグインは同一環境にインストールしないようにしましょう。
- エラーの詳細な情報を確認するために、サーバーコンソールログもチェックしてください。
まとめ
1. プラグイン無効化: 白い画面やエラーが発生したときに、特定のプラグインを一時的に停止する。
2. PHPエラーロギング設定: php.iniファイルでエラーロギングを有効にし、詳細な情報を取得します。
3. WP_DEBUGの活用: wp-config.phpでデバッグモードをオンにして、問題の追跡と解決を容易にします。
4. ログ確認: アクセスやエラーのログファイルから、具体的なエラーメッセージを探し出します。
5. 代替手段の探求: 問題のあるプラグインがある場合、その機能を提供する他のプラグインや手動設定を探ります。
関連記事: