xref: /PHP-7.3/sapi/phpdbg/README.md (revision 2bd7e2bb)
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