PHP5.4.4 で phpdbg を動かしてみた (NG)
phpdbg aims to be a lightweight, powerful,
easy to use debugging platform for PHP5.4+
とあるので、PHP5.4 も対応してると期待して、Debian Wheezy 環境に入れてみた。
build
~/src/php/php-5.4.4$ cd sapi/ ~/src/php/php-5.4.4/sapi$ git clone https://github.com/krakjoe/phpdbg <略> ~/src/php/php-5.4.4$ ./config.nice -bash: ./config.nice: そのようなファイルやディレクトリはありません ~/src/php/php-5.4.4$ ./configure <略> ~/src/php/php-5.4.4$ make -j8 <略> ~/src/php/php-5.4.4$ sudo make install-phpdbg [sudo] password for yoya: Installing phpdbg binary: /usr/local/bin/
config.nice が無いので configure 実行したら何となく phpdbg の実行ファイルが出来た。help はきちんと表示する。
break 効かないかも?
こちらのブログを参考に。
- sample.php
<?php $a = 1 + 2; echo $a;
yoya@sakurai:~$ phpdbg -e sample.php [Welcome to phpdbg, the interactive PHP debugger, v0.3.0] To get help using phpdbg type "help" and press enter [Please report bugs to <http://github.com/krakjoe/phpdbg/issues>] phpdbg> compile [Attempting compilation of /home/yoya/sample.php] [Success] phpdbg> print exec [Context /home/yoya/sample.php] L0-0 {main}() /home/yoya/sample.php L2 0x7f6c901d1c60 ZEND_ADD C0 C1 @0 L2 0x7f6c901d1c90 ZEND_ASSIGN $a @0 @1 L3 0x7f6c901d1cc0 ZEND_ECHO $a <unused> <unused> phpdbg> break line 3 [Breakpoint #0 added at line 3] phpdbg> run 3phpdbg>
アレレ。L3 で止まらない。
初めの勘違い
- PHP 拡張のノリで入れようとしてた
~/src/php/krakjoe-phpdbg-f06ac6a$ phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 ~/src/php/krakjoe-phpdbg-f06ac6a$ ./configure <略> ~/src/php/krakjoe-phpdbg-f06ac6a$ make Build complete. Don't forget to run 'make test'. ~/src/php/krakjoe-phpdbg-f06ac6a$ make install Installing shared extensions: /usr/lib/php5/20100525/ cp: cannot stat `modules/*': No such file or directory make: *** [install-modules] エラー 1
- 失敗の原因。
~/src/php/krakjoe-phpdbg-f06ac6a$ grep modules: Makefile build-modules: $(PHP_MODULES) $(PHP_ZEND_EX) install-modules: build-modules ~/src/php/krakjoe-phpdbg-f06ac6a$ grep -A 1 ^PHP_MODULE Makefile PHP_MODULES = PHP_ZEND_EX =
PHP 拡張じゃければ、そりゃそうですね。。