xdebug

急にPHPのデバッグが必要になった。Windows+apache+phpの環境にXdebugを入れたいが
Xdebugの設定方法を忘れた。しかも、XdebugのWindows binariesもたくさんある。どれがいいんだろう。

PHP 5.2 VC9 (32 bit) (MD5: 4b5e00b0797cf1d1eacef60af13fbd3a)
PHP 5.2 VC9 TS (32 bit) (MD5: 3a2e9d33cba0cdcaa6546a7d9d428282)
PHP 5.3 VC9 (64 bit) (MD5: c35806f2188b73f0f8e762ebb4ed50a9)
PHP 5.3 VC9 (32 bit) (MD5: 070ae0b893d4a0c06e954bcbaa2440b9)
PHP 5.3 VC9 TS (64 bit) (MD5: 71b2d186ebbe1e0bad56e77c03c26ab4)
PHP 5.3 VC9 TS (32 bit) (MD5: f1b60194161254c0da37025c5da4bf85)
PHP 5.4 VC9 (64 bit) (MD5: d8836643b3fde63b27717bcb85d21efe)
PHP 5.4 VC9 (32 bit) (MD5: 31d751094de6ebc1a5f2ef8ff32312dd)
PHP 5.4 VC9 TS (64 bit) (MD5: c56c39b18450a41e4b61db7361705031)
PHP 5.4 VC9 TS (32 bit) (MD5: 02034335ffcbfd32e3c207a6ec8a8234)
PHP 5.5 VC11 (64 bit) (MD5: 2423a13ba740dcd8d19d2e0bcd5ca9a6)
PHP 5.5 VC11 (32 bit) (MD5: d2de48c5c91fd200dbc7a86b035e6b12)
PHP 5.5 VC11 TS (64 bit) (MD5: a5510dc13a754957aae86066f0eb3305)
PHP 5.5 VC11 TS (32 bit) (MD5: d3756596134b11a3a190ee41bede8ac0)

そんな時、Xdebugのサイトにこのページがあるのに気がついた。
http://xdebug.org/wizard.php

phpinfo() が出力するHTMLや結果を貼って「Analyse my phpinfo() output」を行うと、
どのようにインストールするのがいいか、解析して教えてくれる。
ウチの環境だとこうなった。

Tailored Installation Instructions
Summary

Xdebug installed: no
Server API: Apache 2.0 Handler
Windows: yes - Compiler: MS VC9 - Architecture: x86
Zend Server: no
PHP Version: 5.3.9
Zend API nr: 220090626
PHP API nr: 20090626
Debug Build: no
Thread Safe Build: yes
Configuration File Path: C:\Windows
Configuration File: C:\php\php.ini
Extensions directory: c:\php\ext
Instructions

Download php_xdebug-2.2.3-5.3-vc9.dll
Move the downloaded file to c:\php\ext
Edit C:\php\php.ini and add the line
zend_extension = c:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
Restart the webserver

If you like Xdebug, and thinks it saves you time and money, please have a look at the donation page.

ちなみにCentOS環境下で動作しているものはこうなった。

Tailored Installation Instructions

Summary

Xdebug installed: 2.2.2
Server API: Apache 2.0 Handler
Windows: no
Zend Server: no
PHP Version: 5.4.14
Zend API nr: 220100525
PHP API nr: 20100525
Debug Build: no
Thread Safe Build: no
Configuration File Path: /etc
Configuration File: /etc/php.ini
Extensions directory: /usr/lib64/php/modules
Instructions

Download xdebug-2.2.3.tgz
Unpack the downloaded file with tar -xvzf xdebug-2.2.3.tgz
Run: cd xdebug-2.2.3
Run: phpize (See the FAQ if you don't have phpize.

As part of its output it should show:

Configuring for:
...
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
If it does not, you are using the wrong phpize. Please follow this FAQ entry and skip the next step.

Run: ./configure
Run: make
Run: cp modules/xdebug.so /usr/lib64/php/modules
Update /etc/php.ini and change the line
zend_extension = /usr/lib64/php/modules/xdebug.so
Restart the webserver

よく出来ている。素晴らしい。