XDebug setting for debugging PHP in Vagrant

この記事は現役ウェブディベロッパーがわかりやすさにこだわって作成しました

 

はじめに

前回、Vagrantを使ってVirtualBoxにCENTOSのPHP開発環境を構築しました。さらにそこから一歩踏み込んでIDEツール(PHPSTORM)で仮想マシン内のWEBサーバーで動くphpプログラムをデバッグする環境を作ります。

 
【VAGRANT+VIRTUAL BOX】ローカル環境にLAMP環境を構築する

 

 

準備

  • Vagrant+VirtualBox+LAMP環境
  • PHPSTORM

リモートデバッグの仕組みを理解するにはこちらのサイトが参考になります!

 

 

WEBサーバー側の設定

サーバー側の設定はローカル側のデバッガツールと同期できるようにXDEBUGを導入します。 すでに構築済みのVitrualBoxのLAMP環境に接続します。 コマンドプロンプトを立ち上げてVagrantコマンドでSSH接続します。

ページが見つかりませんでした – 誰でもわかるLinuxサーバー

 

 

準備

vagrant ssh

 

レポジトリの追加

EPELリポジトリ

yum install epel-release

または

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Remiリポジトリ

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

 

 

PHPのバージョンアップ

CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール - Qiita
はじめにCentOS6系の標準リポジトリのPHPバージョンは5.3、CentOS7系の標準リポジトリのPHPバージョンは5.4です。それ以外のバージョンを使用したい場合は、リポジトリを追加して…

 

古いバージョンの削除

rpm -qa | grep php

既に古いバージョンがインストール済みの場合、削除しなくてもアップデートされるが、一応消しておく。

yum remove php-*

 

PHP5.6をインストール

yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt

 

 

pearをインストール

Xdebugを導入するにはpeclが必要です

sudo yum install php-pear

 

 

xdebugのインストール

xdebug ver2.5.5をインストールします。
phpのバージョンが5.6以上で動作します

sudo pecl install -a xdebug

 

 

php.iniを編集

xdebugをPHPで認識できるようにします。
https://luftgarden.work/phpstorm-xdebug-vagrant/

 

xdebugの設定を追加

zend_extension=xdebug.so 
xdebug.remote_enable=on 
xdebug.remote_autostart=on 
xdebug.remote_handler=dbgp 
;VM の private_network が 192.168.33.xxx の場合の設定 
xdebug.remote_host=192.168.33.1 
xdebug.remote_port=9001 
;デフォルトの9000だとたまにエラーになる場合がある 
xdebug.idekey="phpstorm"

 

 

再起動&確認

php -i | grep xdebug
# xdebug support => enabled
systemctl restart httpd

 

 

参考

インターネット越しのクラウドサーバーをデバッグする方法が紹介されています

【PHP】リモートマシンのデバッグを、「複数人で」やる【Xdebug×DBGpProxy】 - Qiita
参考やむにやまれない理由で、ローカル環境またはローカルの仮想マシン内に自分だけの開発環境を構築できない場合があります。でもリモートデバッグはやりたい...ヨダレが出るほどに...var_dump…
PHP/Javascript/WORDPRESS案件全般承ります

この記事についてのご質問またはお困りのことがございましたら、お気軽にお問い合わせください。

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