1The interactive PHP debugger 2============================ 3 4Implemented as a SAPI module, phpdbg can exert complete control over the environment without impacting the functionality or performance of your code. 5 6phpdbg aims to be a lightweight, powerful, easy to use debugging platform for PHP 5.4+ 7 8[![phpdbg on travis-ci](https://travis-ci.org/krakjoe/phpdbg.png?branch=master)](https://travis-ci.org/krakjoe/phpdbg) 9 10Features 11======== 12 13 - Stepthrough Debugging 14 - Flexible Breakpoints (Class Method, Function, File:Line, Address, Opcode) 15 - Easy Access to PHP with built-in eval() 16 - Easy Access to Currently Executing Code 17 - Userland API 18 - SAPI Agnostic - Easily Integrated 19 - PHP Configuration File Support 20 - JIT Super Globals - Set Your Own!! 21 - Optional readline Support - Comfortable Terminal Operation 22 - Remote Debugging Support - Bundled Java GUI 23 - Easy Operation - See Help :) 24 25Planned 26======= 27 28 - Improve Everything :) 29 30Installation 31============ 32 33To install **phpdbg**, you must compile the source against your PHP installation sources, and enable the SAPI with the configure command. 34 35``` 36cd /usr/src/php-src/sapi 37git clone https://github.com/krakjoe/phpdbg 38cd ../ 39./buildconf --force 40./configure --enable-phpdbg 41make -j8 42make install-phpdbg 43``` 44 45Where the source directory has been used previously to build PHP, there exists a file named *config.nice* which can be used to invoke configure with the same 46parameters as were used by the last execution of *configure*. 47 48**Note:** PHP must be configured with the switch --with-readline for phpdbg to support history, autocompletion, tab-listing etc. 49 50Command Line Options 51==================== 52 53The following switches are implemented (just like cli SAPI): 54 55 - -n ignore php ini 56 - -c search for php ini in path 57 - -z load zend extension 58 - -d define php ini entry 59 60The following switches change the default behaviour of phpdbg: 61 62 - -v disables quietness 63 - -s enabled stepping 64 - -e sets execution context 65 - -b boring - disables use of colour on the console 66 - -I ignore .phpdbginit (default init file) 67 - -i override .phpgdbinit location (implies -I) 68 - -O set oplog output file 69 - -q do not print banner on startup 70 - -r jump straight to run 71 - -E enable step through eval() 72 - -l listen ports for remote mode 73 - -a listen address for remote mode 74 - -S override SAPI name 75 76**Note:** Passing -rr will cause phpdbg to quit after execution, rather than returning to the console. 77 78Getting Started 79=============== 80 81See the website for tutorials/documentation 82 83http://phpdbg.com 84