Hyper-V LAMP環境を構築-4.Xdebugを設定しよう

投稿日 : 2018年09月30日   更新日 : 2020年06月26日
カテゴリー : 技術情報 / 開発環境(VSCode/Pleiades/Xampp/Hyper-V etc)
Hyper-V LAMP環境を構築-4.Xdebugを設定しようの画像

こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
私はPHPエンジニアとして7年~の経験があります。WordPressは2年半~の経験があります。その他、jQuery、HTML、CSSも使用します。
ここでは主に過去に納品した案件や自サイト運営(エンジニア婦人ノート)で遭遇したことについて書いています。

前回はLaravvelを導入して、外部マシンからもアクセスできるように設定しました。

ここではXdebugを使ってリモートデバッグをできるように設定し、Eclipseでデバッグ開発できるようにします。

ブレークポイントで止まり、変数の中身を確認できたら便利です。当然ながら、開発効率もぐぐーんとアップします。

仮想開発環境を構築シリーズ
1 Hyper-Vで仮想マシンを作ろう
2-0 事前準備をしよう
2-1 Apacheを入れよう
2-2 PHPを入れよう
2-3 MariaDBとphpMyAdminを入れよう
3 Laravelをインストールしよう
4 Xdebugを設定しよう
5 Eclipseでデバッグしよう

システム要件

  • Windows10にEclipseを入れて、こちらでソースを編集します。
  • 仮想マシンのCentOS7にXdebugを入れます

※Eclipseの導入方法については割愛します。他サイトを参照してください。

Eclipseダウンロードはこちらから

メインマシン

  • Windows 10 Pro
  • メモリ 8GB
  • HDD 500GB
  • CPUコア 6

仮想マシン

  • CentOS 7
  • メモリ 2GB
  • HDD 50GB
  • CPUコア 2

Xdebugとは

一言で言うととても高機能なPHPのデバッグツールです。これが入っているのといないのでは大違い。

何かエラーがあったとき、Xdebugが入っていないとこうなります。

XdebugなしのPHPエラー表示
XdebugなしのPHPエラー表示

ただのテキストですね。これが、Xdebugが入っている状態になると、このように見やすい表示にしてくれます。

XDebugが入っている画面

phpinfoでXdebugの項目の有無でも確認できますが、わざとエラーを出してみても、該当サーバーにXdebugが入っているかどうかすぐにわかりますね。

Xdebugをインストールする

Xdebugを、実行したいソースがあるサーバーにインストールします。

ここでは仮想開発環境を構築しているので、CentOS7にインストールします。開発作業をするローカルではありません。

Gitコマンドを使えるようにする

なんでここでGitなんだよ!と思いますが、OSデフォルトのGitはバージョンが古くなってしまいます。どうせ使うなら最新のGitにしたいですね。

必要なパッケージをインストールします。

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker

Gitの最新バージョンはここから確認できます。
入れたいバージョンのものをwgetで取得します。今回は2.9.5でした。

cd /usr/local/src
sudo wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
# ダウンロードしたtarを解凍
sudo tar zxvf git-2.9.5.tar.gz

回答したtarファイルからmakeし、make installを実行します。

cd git-2.9.5
sudo ./configure --prefix=/usr/local/
sudo make prefix=/usr/local all
sudo make prefix=/usr/local install

# gitのバージョン
git --version

gitのバージョンが表示されたら成功です。

Xdebugをインストールする

インストールしているPHPのバージョンに合うXDebugを導入します。XDebug Wizardを使います。

「phpinfoの内容をコピーして貼り付ける」とありますので、その通りにしていきます。

Xdebug Wizardのphpinfoを貼り付ける場所

phpinfoを出力する

phpinfo();を実行するファイルを作成します。

cd /var/www/html
vim info.php
<?php
    phpinfo();

実行した結果です。

phpinfo

このページをコピーします。表示中ページをアクティブにしてCtrl+A → Ctrl + Cです。

全選択した図

この状態です。これでOKです。

このコピーしたものを先ほどのXdebug Wizardに貼り付けます。貼り付けたらページ下の「Analysis my phpinfo() output」をクリックします。

Xdebug Wizard 実行

インストール実行

結果が出たら、「Instructions」に書いてある通りに実行していきます。
PHP7.4に対応するXdebugは2.9.6のようです。

Xdebug Wizard結果
sudo wget http://xdebug.org/files/xdebug-2.9.6.tgz
# 必要なパッケージのダウンロード
sudo yum groupinstall "Development tools" && yum install php-devel autoconf automake

# tarファイルの解凍
sudo tar -xvzf xdebug-2.9.6.tgz

# make
cd xdebug-2.9.6
sudo phpize
sudo ./configure
sudo make
sudo make install

php.iniに記述を追加

/etc/php.iniにXdebugの記述を追加します。

[XDebug]
zend_extension=/usr/lib64/php/modules/xdebug.so

記述後、apacheを再起動すると、phpinfoにXDebugが追加されていることが確認できます。

phpinfoにあるXDebug

php -vでもXdebugが追加された記述を確認できます。

php -v

PHP 7.4.7 (cli) (built: Jun  9 2020 10:57:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Xdebug v2.9.6, Copyright (c) 2002-2020, by Derick Rethans

コマンドの解説

make

phpizeで準備されたものをコンパイルします。

make test

makeでコンパイルしたものを使って、テストインストールします。システムは変更されません。

make install

makeでコンパイルしたものを使って、インストールします。システムは変更されます。

make clean

makeで作られたものを一旦削除します。お掃除。

まとめ

Pleiades All in Oneを使ってXAMPP開発をしていると、デバッグの設定もほぼ済んでいる状態でインストールできるので、この辺りはあまり意識しない部分になりますね。

本番機がLinux、開発はWindowsでやっていると、たまにXAMPPでは起きなかったのにLinuxではバグが起きた!なんてことも…

本番機と同じ、又は近い開発環境を用意できると、本番アップロードしたときに何かがあって慌てることが少なくなります。

毎回人任せに立ててもらうわけにもいきませんし、自分で構築できるようになっていると素晴らしいなと思いました。

参考サイト

ソースレビュー企画-私にソースレビューをさせてください!-

皆様のプログラムのソースを、私に読ませてください!

ソースレビュー企画-私にソースレビューをさせてください!-

プログラムを勉強し始めたばかりの方から、業界云十年のベテランの方でも大歓迎です!どんなソースでもありがたく拝見します!

※無料です

ソースレビュー企画-私にソースレビューをさせてください!-の詳細、お申し込みはこちらからお願いします。

運営サイト紹介

みんなのきょうのごはん-みんごは-

みんなのきょうのごはん-みんごは-

「みんなのきょうのごはん-みんごは-」きょうのみんなのごはんは?Twitterに投稿された美味しそうな「食べ物」画像を、リアルタイムで表示します。

みんごははここからアクセスしてね !

その他広告