xref: /PHP-7.2/sapi/phpdbg/README.md (revision 0afc04b9)
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