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