3ステップでXAMPP 7.xにXDebugをインストール

PHP


こんにちはカトーです。

弊社ではWEBアプリーション開発環境はESXiの開発環境やクラウドでサーバ作って開発を行うことが多いのですが、ちょっとした検証だとやはりローカル環境で行いたいものです。そして簡単なスクリプトはプロジェクト作らずにブラウザ上やらローカルのサーバ上で行いたいということもあります。

そんな中、先日メインマシンもノートパソコンもWindows10に乗り換えて定番のXAMPPを入れたらXDebugが入ってないので入れてみましたので、その記録です。

先に書いておくと、3ステップ完了です。

  1. 必要なバージョンのXdebugをダウンロードする。
  2. ダウンロードした dll を\xampp\php\extに置く。
  3. php.ini にxdebug 情報を書いて再起動。

 

あまりにも簡単なので、検証しながら書いていきますよ。読むのが面倒、サクッと入れる方は下にxdebugインストール項目あるので、そこからどうぞ。

 

PHPのデバックって

PHP言語は簡単に書けるがゆえに、お客様のスクリプトをサーバに格納して目につくのは負荷を増やすNotice:エラーや不要なループ、PHP7での非推奨記述など。いずれもWEBプログラマーさんがデバックすればいいのですが、結構な頻度でサーバを移したら動かないから修正するというのがあります。その上で、最低限実行時間とメモリ使用や、どの部分がエラーなのか分からないと困ります。

今回はそんな状況でXAMPPでデバック。まぁ、何かプロファイラやIDE使っていれば不要ですが……。

XAMPPのインストール

https://www.apachefriends.org/jp/index.html

XAMPPはローカル環境でさくっとPHP+MySQL環境構築できるツールです。難しいことなく5分もあればインストール完了です。

 

 

 

phpinfo();の確認

一応確認でphpinfo();関数で見てみると最新のXAMPPにはPHPは7.1.9でXdebugが入っていません。
テストで、エラーが出るコード書いてみます。

 

何も定義していないと状態で、$testという変数と、if文中で$hogeを使おうすれば、

上記エラーが出ます。これだとメモリーも実行時間もわかりません。何かプロファイラを使えばいいのですが、

しかしこれは最近のPHPのバージョンで、またサーバによってはこのエラーを消していたりします。XAMPPに内容しているphp.iniでは106行目付近

XAMPPではデフォルトでエラーを表示されるようになっています。

XDebugインストール

 

  1. 必要なバージョンのXdebugをダウンロードする。
  2. ダウンロードした dll を\xampp\php\extに置く。
  3. php.ini にxdebug 情報を書く。XAMPP再起動

参照 https://gist.github.com/odan/1abe76d373a9cbb15bed

落としてくるバージョンですが、おすすめなのは、以下のサイトでphpinfoの情報を張り付けてくれればそのまま必要なバージョンを教えてくれます。すごく簡単です。

https://xdebug.org/wizard.php 


貼り付けると以下、表示されます。

ありがたいことに、
Download php_xdebug-2.5.4-7.1-vc14.dll と出てますので、これをダウンロードして記述通りに、\xampp\php\extに配置します。ちなみにD:\となってますが、私はDドライブに入れてるので、これはCなり自分の環境が表示されますので、合わせてください。そして、php.iniの最後に「zend_extension = D:\xampp\php\ext\php_xdebug-2.5.4-7.1-vc14.dll」と一行記述。

xdebug確認

しっかり表示されました。
phpinfoも確認してみます。

しっかり表示されました。

最後に

昨今のWordPressでサイトを作り、プラグインでいろいろ作りこむというのが結構多い現状、バージョンに合わないやらテンプレートの部分をいじったら動かない!というのも見かけます。サーバを管理する側としてはPHPのプロセスが交通渋滞のように処理しきれずにロードアベレージがどんどん上がっていくのは冷や汗ものです。テーマやテンプレートを確認してひとつひとつプラグインを見ていくというのは本当に手間のかかることです。ぜひデバックツールやプロファイラを使って開発をしましょう。

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG