●デバッグ後の必須でやるべきこと!

[広告] 当サイトはアフィリエイト広告を利用しています。

本番運用後の var_dump() と exit; の削除と error_log() 方式への切り替え

開発やテストで var_dump() と exit; を使って出力内容を確認したら、以下のタイミングで必ずコードを掃除してください。

  • プラグインの機能検証が完了し、6文字の原因が特定できた直後
  • ステージング環境で最終リグレッションテストが終わったタイミング
  • 本番環境へのデプロイ直前

具体的には、プラグインファイル内の

register_activation_hook(__FILE__, 'my_plugin_activate');
function my_plugin_activate(){
    $output = ob_get_clean();
    var_dump($output);
    exit;
}

この部分を丸ごと削除し、以下のように error_log() のみを残します。

// デバッグ用 activation hook は削除済み

add_action('plugins_loaded', function(){
    $output = ob_get_clean();
    error_log('Unexpected output ('. strlen($output) .' bytes): [' . $output . ']');
}, 0);

こうすることで、開発中以外は var_dump() や exit が画面を止めることなく、エラーログへの記録だけが行われます。


register_activation_hook() の後片付け

register_activation_hook() は「プラグインを有効化した瞬間だけ」実行される仕組みです。デバッグ用途以外に使わないなら、本番環境では次のいずれかを行いましょう。

  • フックごとコメントアウトまたは削除して、無駄なコードを残さない
  • 有効化時に本来必要な処理(初回オプション設定など)がある場合は、デバッグコードを除去してそのロジックだけ残す

タイミングはデバッグ完了直後、ステージング環境で問題がなければすぐに反映し、本番環境へデプロイする前に必ず実施してください。


まとめ

  1. 6文字出力の原因特定が終わったら var_dump() と exit; を削除
  2. error_log() 方式でログだけ残すコードに切り替え
  3. register_activation_hook() もデバッグ用途なら削除または必要最小限の処理だけ残す
  4. ステージングで動作確認後、本番環境へデプロイ

この流れを守ることで、不要なデバッグコードを本番に混入させず、安定した運用ができるようになります。

コメント

タイトルとURLをコピーしました