NetBeansIDEによるデバッグ機能付きPHPWeb開発環境の構築

NetBeansIDEによるデバッグ機能付きPHPWeb開発環境の構築方法を備忘録として記しておきます。

以下の0~5の内容を順に実施します。

0.開発環境で導入するパッケージの確認

  • CentOS
  • Apache HTTP Server
  • PHP
  • XDebug
  • Java SE Development Kit
  • NetBeansIDE(PHP版)

1.CentOSをインストール

OSであるCentOSを普通にインストールします。

インストール時にパッケージをカスタマイズできるので、 その際にApacheとPHPをインストールすることもできます。

インストール後に別途ApacheとPHPをインストールする場合は、以下のコマンドyumを実行します(>はプロンプト)。

OSのbitによって、32bitならi686、64bitならx86_64にパッケージ名を適宜読み替えます。

この説明は、32bitOSを仮定して行います。

>yum install httpd.i686

>yum install php.i686

尚、yum search <パッケージ名>でcentosのリポジトリにあるパッケージを検索できます。

例:>yum search httpd.i686 ←Apacheのパッケージを検索

2.XDebugのインストールと設定

これはデフォルト設定のcentosリポジトリ内にはないので、以下のファイルをダウンロードし、rpmコマンドを使って インストールします(x.x.x-xはバージョン番号)。

php-pecl-xdebug-x.x.x-x.el6.i686.rpm

>rpm -i php-pecl-xdebug-x.x.x-x.el6.i686.rpm

尚、epelリポジトリを追加すれば、yumによるインストールが1と同様の操作でできるようになります。

インストールしたら、以下の場所にxdebug.iniファイルが作成されていることを確認します。

ファイルが無い場合は、『xdebug.ini』の名称でファイルを作成します。

場所:/etc/php.d/xdebug.ini

xdebug.iniファイルを、以下の内容に編集して保存します。

———————————————

; Enable xdebug extension module

zend_extension=/usr/lib/php/modules/xdebug.so

xdebug.idekey=netbeans-xdebug

xdebug.remote_enable=On

xdebug.remote_handler=dbgp

xdebug.remote_host=localhost

xdebug.remote_port=9000

———————————————

3.Java SE Development Kitをインストール

ORACLE社のサイトからJava SE Development Kitを取得し、インストールします(xxxxはバージョン番号)。

jdk-xxxx-linux-i586.rpm

>rpm -i jdk-xxxx-linux-i586.rpm

4.NetBeansIDEのインストール

Netbeans.orgのサイトからNetBeansIDEを取得します(x.x.xはバージョン番号)。

netbeans-x.x.x-ml-php-linux.sh

Netbeans.orgのサイトのプラットフォームで『Linux(x86/x64)』を選択し、『NetBeans IDE ダウンロードバンドル』のPHP列下の『ダウンロード』ボタンを押します。

ダウンロードしたら、shファイルのディレクトリで以下を実行し、インストールウィザードに従って完了させます。

>./netbeans-x.x.x-ml-php-linux.sh

5.NetBeansIDEでのデバッグ実行の確認

NetBeansIDEを起動し、PHPのプロジェクトを1つ作り、phpinfo()メソッドをソースに記載し、PHP情報を表示できるようにします。

phpinfo()の行にブレークポイントを設定します。

デバッグ実行ボタンを押して、そのブレークポイントでデバッガが停止することを確認します。

これにて環境構築は終了です。

今回はローカルPC上にWebサーバーを立てる方法のため、XDebugによるデバッグで使用するポート(例では9000ポート)へのファイアウォールの許可設定は不必要です。

リモート接続にしたい場合は、指定ポートを開ける設定をする必要があります。

NetBeansIDEがXDebugにてデバッグできない場合、NetBeansIDEのウインドウの下部にあるステータスバーに、『接続を待っています…』メッセージが表示され続けます。

デバッグできずに上記のメッセージが表示された場合は、XDebugのリモートポート番号、ファイアウォールの許可設定、SELinuxの有効/無効を疑ってみると良いと思います。

特に、SELinuxは有効にしておくと嵌りやすいので、不要でしたら無効にしておくのが無難です。

簡単ですが、これにて終わります。