PHP5.4 で ZendDebbuggerを使う方法

環境

Fedora18 (x64) PHP 5.4.12 Zend Studio 9.0

現時点では、zend.comサイトのzenddebuggerには PHP5.3用までのモジュールしか含まれていないようでした。 下記手順で、一応動作したのでメモ。

参考 http://forums.zend.com/viewtopic.php?t=47568&f=59#p148893

モジュールを入手

http://repos.zend.com/zend-server/preview-php5.4/rpm/x86_64/php-5.4-debugger-zend-server-5.6.0-14.x86_64.rpm

ファイルを展開

rpmなので、インストールすれば良さそうなのですが、依存関係を解決するのが大変です。今回に限っては、ZendDebugger.so を手に入れられればよいので、展開します。

# rpmdev-extract php-5.4-debugger-zend-server-5.6.0-14.x86_64.rpm

rpmdev-extractが無い場合は、下記実行

# yum install rpmdevtools

ファイルを配置する

展開されたファイルから、ZendDebugger.soを適当に設置します。

# mkdir -p /usr/local/zend/lib/debugger
# cp php-5.4-debugger-zend-server-5.6.0-14.x86_64/usr/local/zend/lib/debugger/php-5.4.x/ZendDebugger.so /usr/local/zend/lib/debugger/

php.iniに記述

php.ini または /etc/php.d/*.ini に下記記述します。

[Zend]
zend_extension=/usr/local/zend/lib/debugger/ZendDebugger.so
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.0/24
zend_debugger.expose_remotely=always

ややこしい部分

期待するファイル名のモジュールが無いとダメのようなので、下記実行。(ファイル名が0.9.8でないといけないようです)

# ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.0.9.8
# ln -s /usr/lib64/libcrypt.so /usr/lib64/libcrypto.so.0.9.8

関連→Debuggerモジュール置き換え時に発生したエラー対処メモ

確認

# php -v
PHP 5.4.12 (cli) (built: Feb 20 2013 11:45:12)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend Debugger v5.3, Copyright (c) 1999-2010, by Zend Technologies

webでも、phpinfo()の実行結果に「with Zend Debugger」の表示があることを確認しましょう。

facebook slideshare rubygems github qiita