var_dumpを使ってWebサイトのトラブルシューティング

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+

【これは約 2 分の記事です】

弊社のメイン業務はセキュリティ教育ですが、不具合が発生したWebサービスを復旧させて欲しいというご連絡をいただくことがあります。

トラブルシューティングです。

もちろん、「復旧」はセキュリティ上の行動の一つですので、弊社の守備範囲に入ります。

サーバ環境が変わって、今まで動いていたPHPスクリプトが動かなくなったというお話を最近いただいて対応しました。

自分が作ったシステムのトラブルシューティングではないので、プログラムの構成はわからないのですが、それでもサーバを確認する権限さえあれば、自分が作ったシステムでなくてもトラブルシューティング可能です。

PHPで構築されたWebサービスの基本的なトラブルシューティングは

  1. ログを見て不具合のあるファイルのあたりを付ける
  2. あたりのある付近でどのような情報が参照されたり生成されているかを調べて、必要に応じて修正する

という感じ。

その時に利用するのは

var_dump(何らかの変数や文字列や数字);

という関数。これは、かっこの中で指定した変数や値を表示させる、というもの。

変数の値がどうなっているかを確認することで、問題の特定ができるようになります。

これに、

exit();

というプログラムの実行を中断する命令を加えて、どこに問題があるかを特定します。

var_dump(何らかの変数や文字列や数字);
exit();

というスクリプトをプログラムファイル内の問題が起きる直前のところにおくと、ほぼ不具合の理由が特定できます。もっとも「問題が起きる直前の場所(行)」を見つけるのは根気がいりますが。

トラブルシューティングには根気が必要ですね。

佐藤英治
情報処理安全確保支援士第5338号。ネットワークスペシャリスト。防災士。東北大学大学情報科学研究科第2期生。1994年からインターネットに携わる。システムベンダーの総務社内SEとして、社内システムの構築運用や従業員教育に関与。2015年情報セキュリティ専門法人「まるおかディジタル株式会社」を設立し現在に至る。研修では基本的に着物でお話させていただいております。
Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+