Skip to content
Snippets Groups Projects
Commit 4e4d9707 authored by Stefan Galinski's avatar Stefan Galinski :video_game:
Browse files

[TASK] Update and improve xdebug installation

parent aa5fe261
No related branches found
No related tags found
No related merge requests found
...@@ -23,15 +23,12 @@ ...@@ -23,15 +23,12 @@
# THE SOFTWARE. # THE SOFTWARE.
if node['platform_version'] == '16.04' if node['platform_version'] == '16.04'
package 'php-xdebug' package 'php-xdebug' do
action 'upgrade'
template '/etc/php/' + node['ubuntu_base']['php_version'] + '/apache2/conf.d/xdebug.ini' do
mode '0644'
end end
template '/etc/php/' + node['ubuntu_base']['php_version'] + '/cli/conf.d/xdebug.ini' do template '/etc/php/' + node['ubuntu_base']['php_version'] + '/mods-available/xdebug.ini' do
mode '0644' mode '0644'
notifies :restart, 'service[apache2]', :delayed
end end
else else
package 'php5.6-xdebug' package 'php5.6-xdebug'
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
; (see https://github.com/derickr/xdebug/blob/master/xdebug.ini for more information) ; (see https://github.com/derickr/xdebug/blob/master/xdebug.ini for more information)
;zend_extension = <%= Mixlib::ShellOut.new("php -i | grep extension_dir | awk 'NR==1 {print $(NF)}'").run_command.stdout.strip %>/xdebug.so ;zend_extension = <%= Mixlib::ShellOut.new("php -i | grep extension_dir | awk 'NR==1 {print $(NF)}'").run_command.stdout.strip %>/xdebug.so
zend_extension=xdebug.so
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.auto_trace ; xdebug.auto_trace
...@@ -11,9 +12,9 @@ ...@@ -11,9 +12,9 @@
; When this setting is set to on, the tracing of function calls will be enabled ; When this setting is set to on, the tracing of function calls will be enabled
; just before the script is run. This makes it possible to trace code in the ; just before the script is run. This makes it possible to trace code in the
; auto_prepend_file [1]. ; auto_prepend_file [1].
; ;
; [1] http://www.php.net/manual/en/configuration.directives.php#ini.auto-prepend-file ; [1] http://php.net/manual/en/ini.core.php#ini.auto-prepend-file
; ;
; ;
;xdebug.auto_trace = 0 ;xdebug.auto_trace = 0
...@@ -27,17 +28,17 @@ ...@@ -27,17 +28,17 @@
; If this setting is 1, Xdebug will color var_dumps and stack traces output when ; If this setting is 1, Xdebug will color var_dumps and stack traces output when
; in CLI mode and when the output is a tty. On Windows, the ANSICON [1] tool ; in CLI mode and when the output is a tty. On Windows, the ANSICON [1] tool
; needs to be installed. ; needs to be installed.
; ;
; [1] http://adoxa.110mb.com/ansicon/ ; [1] http://adoxa.110mb.com/ansicon/
; ;
; If the setting is 2, then Xdebug will always color var_dumps and stack trace, ; If the setting is 2, then Xdebug will always color var_dumps and stack trace,
; no matter whether it's connected to a tty or whether ANSICON is installed. In ; no matter whether it's connected to a tty or whether ANSICON is installed. In
; this case, you might end up seeing escape codes. ; this case, you might end up seeing escape codes.
; ;
; See this article [1] for some more information. ; See this article [1] for some more information.
; ;
; [1] http://drck.me/clicolor-9cr ; [1] https://drck.me/clicolor-9cr
; ;
; ;
;xdebug.cli_color = 0 ;xdebug.cli_color = 0
...@@ -50,7 +51,7 @@ ...@@ -50,7 +51,7 @@
; ;
; This setting, defaulting to 0, controls whether Xdebug should add variable ; This setting, defaulting to 0, controls whether Xdebug should add variable
; assignments to function traces. ; assignments to function traces.
; ;
; ;
;xdebug.collect_assignments = 0 ;xdebug.collect_assignments = 0
...@@ -62,7 +63,7 @@ ...@@ -62,7 +63,7 @@
; This setting, defaulting to 1, controls whether Xdebug should write the ; This setting, defaulting to 1, controls whether Xdebug should write the
; filename used in include(), include_once(), require() or require_once() to the ; filename used in include(), include_once(), require() or require_once() to the
; trace files. ; trace files.
; ;
; ;
;xdebug.collect_includes = 1 ;xdebug.collect_includes = 1
...@@ -74,7 +75,7 @@ ...@@ -74,7 +75,7 @@
; This setting, defaulting to 0, controls whether Xdebug should collect the ; This setting, defaulting to 0, controls whether Xdebug should collect the
; parameters passed to functions when a function call is recorded in either the ; parameters passed to functions when a function call is recorded in either the
; function trace or the stack trace. ; function trace or the stack trace.
; ;
; The setting defaults to 0 because for very large scripts it may use huge ; The setting defaults to 0 because for very large scripts it may use huge
; amounts of memory and therefore make it impossible for the huge script to run. ; amounts of memory and therefore make it impossible for the huge script to run.
; You can most safely turn this setting on, but you can expect some problems in ; You can most safely turn this setting on, but you can expect some problems in
...@@ -83,12 +84,12 @@ ...@@ -83,12 +84,12 @@
; as it will never store this information in memory. Instead it will only be ; as it will never store this information in memory. Instead it will only be
; written to disk. This means that you need to have a look at the disk usage ; written to disk. This means that you need to have a look at the disk usage
; though. ; though.
; ;
; This setting can have four different values. For each of the values a ; This setting can have four different values. For each of the values a
; different amount of information is shown. Below you will see what information ; different amount of information is shown. Below you will see what information
; each of the values provides. See also the introduction of the feature Stack ; each of the values provides. See also the introduction of the feature Stack
; Traces for a few screenshots. ; Traces for a few screenshots.
; ;
; ===== ======================================================================== ; ===== ========================================================================
; Value Argument Information Shown ; Value Argument Information Shown
; ===== ======================================================================== ; ===== ========================================================================
...@@ -103,11 +104,15 @@ ...@@ -103,11 +104,15 @@
; xdebug.var_display_max_depth. ; xdebug.var_display_max_depth.
; ----- ------------------------------------------------------------------------ ; ----- ------------------------------------------------------------------------
; 4 Full variable contents and variable name. ; 4 Full variable contents and variable name.
; ----- ------------------------------------------------------------------------
; 5 PHP serialized variable contents, without the name.
;
; (New in Xdebug 2.3)
; ===== ======================================================================== ; ===== ========================================================================
; ;
; 1 in the CLI version of PHP it will not have the tool tip, nor in output ; 1 in the CLI version of PHP it will not have the tool tip, nor in output
; files. ; files.
; ;
; ;
;xdebug.collect_params = 0 ;xdebug.collect_params = 0
...@@ -118,7 +123,10 @@ ...@@ -118,7 +123,10 @@
; ;
; This setting, defaulting to 0, controls whether Xdebug should write the return ; This setting, defaulting to 0, controls whether Xdebug should write the return
; value of function calls to the trace files. ; value of function calls to the trace files.
; ;
; For computerized trace files (xdebug.trace_format=1) this only works from
; Xdebug 2.3 onwards.
;
; ;
;xdebug.collect_return = 0 ;xdebug.collect_return = 0
...@@ -132,21 +140,21 @@ ...@@ -132,21 +140,21 @@
; engineer PHP's opcode arrays. This setting will not record which values the ; engineer PHP's opcode arrays. This setting will not record which values the
; different variables have, for that use xdebug.collect_params. This setting ; different variables have, for that use xdebug.collect_params. This setting
; needs to be enabled only if you wish to use xdebug_get_declared_vars(). ; needs to be enabled only if you wish to use xdebug_get_declared_vars().
; ;
; ;
;xdebug.collect_vars = 0 ;xdebug.collect_vars = 0
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.coverage_enable ; xdebug.coverage_enable
; ;
; Only in Xdebug versions > 2.2 ; Only in Xdebug versions >= 2.2
; ;
; Type: boolean, Default value: 1 ; Type: boolean, Default value: 1
; ;
; If this setting is set to 0, then Xdebug will not set-up internal structures ; If this setting is set to 0, then Xdebug will not set-up internal structures
; to allow code coverage. This speeds up Xdebug quite a bit, but of course, Code ; to allow code coverage. This speeds up Xdebug quite a bit, but of course, Code
; Coverage Analysis won't work. ; Coverage Analysis won't work.
; ;
; ;
;xdebug.coverage_enable = 1 ;xdebug.coverage_enable = 1
...@@ -159,7 +167,7 @@ ...@@ -159,7 +167,7 @@
; event. You can disable showing stacktraces from your code with ; event. You can disable showing stacktraces from your code with
; xdebug_disable(). As this is one of the basic functions of Xdebug, it is ; xdebug_disable(). As this is one of the basic functions of Xdebug, it is
; advisable to leave this setting set to 1. ; advisable to leave this setting set to 1.
; ;
; ;
;xdebug.default_enable = 1 ;xdebug.default_enable = 1
...@@ -168,15 +176,20 @@ ...@@ -168,15 +176,20 @@
; ;
; Type: string, Default value: Empty ; Type: string, Default value: Empty
; ;
; * = COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION. These seven settings ; * can be any of COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION. These
; control which data from the superglobals is shown when an error situation ; seven settings control which data from the superglobals is shown when an error
; occurs. Each php.ini setting can consist of a comma seperated list of ; situation occurs.
; variables from this superglobal to dump, but make sure you do not add spaces ;
; in this setting. In order to dump the REMOTE_ADDR and the REQUEST_METHOD when ; Each of those php.ini setting can consist of a comma seperated list of
; an error occurs, add this setting: ; variables from this superglobal to dump, or ``*`` for all of them. Make sure
; ; you do not add spaces in this setting.
;
; In order to dump the REMOTE_ADDR and the REQUEST_METHOD when an error occurs,
; and all GET parameters, add these settings:
;
; xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD ; xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
; ; xdebug.dump.GET = *
;
; ;
;xdebug.dump.* = Empty ;xdebug.dump.* = Empty
...@@ -186,8 +199,8 @@ ...@@ -186,8 +199,8 @@
; Type: boolean, Default value: 1 ; Type: boolean, Default value: 1
; ;
; Controls whether the values of the superglobals as defined by the ; Controls whether the values of the superglobals as defined by the
; xdebug.dump.* settings whould be shown or not. ; xdebug.dump.* settings should be shown or not.
; ;
; ;
;xdebug.dump_globals = 1 ;xdebug.dump_globals = 1
...@@ -198,7 +211,7 @@ ...@@ -198,7 +211,7 @@
; ;
; Controls whether the values of the superglobals should be dumped on all error ; Controls whether the values of the superglobals should be dumped on all error
; situations (set to 0) or only on the first (set to 1). ; situations (set to 0) or only on the first (set to 1).
; ;
; ;
;xdebug.dump_once = 1 ;xdebug.dump_once = 1
...@@ -209,7 +222,7 @@ ...@@ -209,7 +222,7 @@
; ;
; If you want to dump undefined values from the superglobals you should set this ; If you want to dump undefined values from the superglobals you should set this
; setting to 1, otherwise leave it set to 0. ; setting to 1, otherwise leave it set to 0.
; ;
; ;
;xdebug.dump_undefined = 0 ;xdebug.dump_undefined = 0
...@@ -224,7 +237,7 @@ ...@@ -224,7 +237,7 @@
; this option as PHP's generated oparrays will increase with about a third of ; this option as PHP's generated oparrays will increase with about a third of
; the size slowing down your scripts. This setting can not be set in your ; the size slowing down your scripts. This setting can not be set in your
; scripts with ini_set(), but only in php.ini. ; scripts with ini_set(), but only in php.ini.
; ;
; ;
;xdebug.extended_info = 1 ;xdebug.extended_info = 1
...@@ -233,18 +246,18 @@ ...@@ -233,18 +246,18 @@
; ;
; Only in Xdebug versions > 2.1 ; Only in Xdebug versions > 2.1
; ;
; Type: string, Default value: ; Type: string, Default value:
; ;
; This setting determines the format of the links that are made in the display ; This setting determines the format of the links that are made in the display
; of stack traces where file names are used. This allows IDEs to set up a ; of stack traces where file names are used. This allows IDEs to set up a
; link-protocol that makes it possible to go directly to a line and file by ; link-protocol that makes it possible to go directly to a line and file by
; clicking on the filenames that Xdebug shows in stack traces. An example format ; clicking on the filenames that Xdebug shows in stack traces. An example format
; might look like: ; might look like:
; ;
; myide://%f@%l ; myide://%f@%l
; ;
; The possible format specifiers are: ; The possible format specifiers are:
; ;
; ========= =============== ; ========= ===============
; Specifier Meaning ; Specifier Meaning
; ========= =============== ; ========= ===============
...@@ -252,95 +265,163 @@ ...@@ -252,95 +265,163 @@
; --------- --------------- ; --------- ---------------
; %l the line number ; %l the line number
; ========= =============== ; ========= ===============
; ;
; For various IDEs/OSses there are some instructions listed on how to make this ; For various IDEs/OSses there are some instructions listed on how to make this
; work: ; work:
; ;
; ---------------- ; ----------------
; Firefox on Linux ; Firefox on Linux
; ---------------- ; ----------------
; ;
; - Open ; - Open
; ;
; about:config ; about:config
; ;
; - Add a new boolean setting "network.protocol-handler.expose.xdebug" ; - Add a new boolean setting "network.protocol-handler.expose.xdebug" and set
; ; it to "false"
;
; - Add the following into a shell script ; - Add the following into a shell script
; ;
; ``~/bin/ff-xdebug.sh``: ; ``~/bin/ff-xdebug.sh``:
; ;
; #! /bin/sh ; #! /bin/sh
; ;
; f=`echo $1 | cut -d @ -f 1 | sed 's/xdebug:\/\///'` ; f=`echo $1 | cut -d @ -f 1 | sed 's/xdebug:\/\///'`
; l=`echo $1 | cut -d @ -f 2` ; l=`echo $1 | cut -d @ -f 2`
; ;
; Add to that one of (depending whether you have komodo or gvim): ; Add to that one of (depending whether you have komodo, gvim or netbeans):
; ;
; - komodo $f -l $l ; - komodo $f -l $l
; ;
; - gvim --remote-tab +$l $f ; - gvim --remote-tab +$l $f
; ;
; - netbeans "$f:$l"
;
; - Make the script executable with ; - Make the script executable with
; ;
; chmod +x ~/bin/ff-xdebug.sh ; chmod +x ~/bin/ff-xdebug.sh
; ;
; - Set the xdebug.file_link_format setting to ; - Set the xdebug.file_link_format setting to
; ;
; xdebug://%f@%l ; xdebug://%f@%l
; ;
; -------------------- ; --------------------
; Windows and netbeans ; Windows and netbeans
; -------------------- ; --------------------
; ;
; - Create the file ; - Create the file
; ;
; ``netbeans.bat`` and save it in your path ( ``C:\Windows`` will work): ; ``netbeans.bat`` and save it in your path ( ``C:\Windows`` will work):
; ;
; @echo off ; @echo off
; setlocal enableextensions enabledelayedexpansion ; setlocal enableextensions enabledelayedexpansion
; set NETBEANS=%1 ; set NETBEANS=%1
; set FILE=%~2 ; set FILE=%~2
; %NETBEANS% --nosplash --console suppress --open "%FILE:~19%" ; %NETBEANS% --nosplash --console suppress --open "%FILE:~19%"
; nircmd win activate process netbeans.exe ; nircmd win activate process netbeans.exe
; ;
; **Note:** Remove the last line if you don't have ``nircmd``. ; **Note:** Remove the last line if you don't have ``nircmd``.
; ;
; - Save the following code as ; - Save the following code as
; ;
; ``netbeans_protocol.reg``: ; ``netbeans_protocol.reg``:
; ;
; Windows Registry Editor Version 5.00 ; Windows Registry Editor Version 5.00
; ;
; [HKEY_CLASSES_ROOT\netbeans] ; [HKEY_CLASSES_ROOT\netbeans]
; "URL Protocol"="" ; "URL Protocol"=""
; @="URL:Netbeans Protocol" ; @="URL:Netbeans Protocol"
; ;
; [HKEY_CLASSES_ROOT\netbeans\DefaultIcon] ; [HKEY_CLASSES_ROOT\netbeans\DefaultIcon]
; @="\"C:\\Program Files\\NetBeans 7.1.1\\bin\\netbeans.exe,1\"" ; @="\"C:\\Program Files\\NetBeans 7.1.1\\bin\\netbeans.exe,1\""
; ;
; [HKEY_CLASSES_ROOT\netbeans\shell] ; [HKEY_CLASSES_ROOT\netbeans\shell]
; ;
; [HKEY_CLASSES_ROOT\netbeans\shell\open] ; [HKEY_CLASSES_ROOT\netbeans\shell\open]
; ;
; [HKEY_CLASSES_ROOT\netbeans\shell\open\command] ; [HKEY_CLASSES_ROOT\netbeans\shell\open\command]
; @="\"C:\\Windows\\netbeans.bat\" \"C:\\Program Files\\NetBeans 7.1.1\\bin\\netbeans.exe\" \"%1\"" ; @="\"C:\\Windows\\netbeans.bat\" \"C:\\Program Files\\NetBeans 7.1.1\\bin\\netbeans.exe\" \"%1\""
; ;
; **Note:** Make sure to change the path to Netbeans (twice), as well as the ; **Note:** Make sure to change the path to Netbeans (twice), as well as the
; ``netbeans.bat`` batch file if you saved it somewhere else than ; ``netbeans.bat`` batch file if you saved it somewhere else than
; ``C:\Windows\``. ; ``C:\Windows\``.
; ;
; - Double click on the ; - Double click on the
; ;
; ``netbeans_protocol.reg`` file to import it into the registry. ; ``netbeans_protocol.reg`` file to import it into the registry.
; ;
; - Set the xdebug.file_link_format setting to ; - Set the xdebug.file_link_format setting to
; ;
; xdebug.file_link_format = ; xdebug.file_link_format =
; "netbeans://open/?f=%f:%l" ; "netbeans://open/?f=%f:%l"
;
; ;
;xdebug.file_link_format = ;
;xdebug.file_link_format =
; -----------------------------------------------------------------------------
; xdebug.force_display_errors
;
; Only in Xdebug versions 2.3
;
; Type: int, Default value: 0
;
; If this setting is set to ``1`` then errors will **always** be displayed, no
; matter what the setting of PHP's display_errors [1] is.
;
; [1] http://php.net/manual/en/errorfunc.configuration.php#ini.display-errors
;
;
;xdebug.force_display_errors = 0
; -----------------------------------------------------------------------------
; xdebug.force_error_reporting
;
; Only in Xdebug versions 2.3
;
; Type: int, Default value: 0
;
; This setting is a bitmask, like error_reporting [1]. This bitmask will be
; logically ORed with the bitmask represented by error_reporting [2] to dermine
; which errors should be displayed. This setting can only be made in php.ini and
; allows you to force certain errors from being shown no matter what an
; application does with ini_set() [3].
;
; [1] http://php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
; [2] http://php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
; [3] http://php.net/manual/en/function.ini-set.php
;
;
;xdebug.force_error_reporting = 0
; -----------------------------------------------------------------------------
; xdebug.halt_level
;
; Only in Xdebug versions 2.3
;
; Type: int, Default value: 0
;
; This setting allows you to configure a mask that determines whether, and
; which, notices and/or warnings get converted to errors. You can configure
; notices and warnings that are generated by PHP, and notices and warnings that
; you generate yourself (by means of trigger_error()). For example, to convert
; the warning of strlen() (without arguments) to an error, you would do:
;
; ini_set('xdebug.halt_level', E_WARNING);
; strlen();
; echo "Hi!\n";
;
; Which will then result in the showing of the error message, and the abortion
; of the script. ``echo "Hi!\n";`` will not be executed.
;
; The setting is a bit mask, so to convert all notices and warnings into errors
; for all applications, you can set this in php.ini:
;
; xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE
;
; The bitmask only supports the four level that are mentioned above.
;
;
;xdebug.halt_level = 0
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.idekey ; xdebug.idekey
...@@ -353,7 +434,7 @@ ...@@ -353,7 +434,7 @@
; to the first environment variable that is found. If none could be found the ; to the first environment variable that is found. If none could be found the
; setting has as default ''. If this setting is set, it always overrides the ; setting has as default ''. If this setting is set, it always overrides the
; environment variables. ; environment variables.
; ;
; ;
;xdebug.idekey = *complex* ;xdebug.idekey = *complex*
...@@ -367,36 +448,72 @@ ...@@ -367,36 +448,72 @@
; This is the base url for the links from the function traces and error message ; This is the base url for the links from the function traces and error message
; to the manual pages of the function from the message. It is advisable to set ; to the manual pages of the function from the message. It is advisable to set
; this setting to use the closest mirror. ; this setting to use the closest mirror.
; ;
; ;
;xdebug.manual_url = http://www.php.net ;xdebug.manual_url = http://www.php.net
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.max_nesting_level ; xdebug.max_nesting_level
; ;
; Type: integer, Default value: 100 ; Type: integer, Default value: 256
; ;
; Controls the protection mechanism for infinite recursion protection. The value ; Controls the protection mechanism for infinite recursion protection. The value
; of this setting is the maximum level of nested functions that are allowed ; of this setting is the maximum level of nested functions that are allowed
; before the script will be aborted. ; before the script will be aborted.
;
; ;
;xdebug.max_nesting_level = 100 ; Before Xdebug 2.3, the default value was ``100``.
;
;
;xdebug.max_nesting_level = 256
; -----------------------------------------------------------------------------
; xdebug.max_stack_frames
;
; Only in Xdebug versions >= 2.3
;
; Type: integer, Default value: -1
;
; Controls how many stack frames are shown in stack traces, both on the command
; line during PHP error stack traces, as well as in the browser for HTML traces.
;
;
;xdebug.max_stack_frames = -1
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.overload_var_dump ; xdebug.overload_var_dump
; ;
; Only in Xdebug versions > 2.1 ; Only in Xdebug versions > 2.1
; ;
; Type: boolean, Default value: 1 ; Type: boolean, Default value: 2
; ;
; By default Xdebug overloads var_dump() with its own improved version for ; By default Xdebug overloads var_dump() with its own improved version for
; displaying variables when the html_errors php.ini setting is set to 1. In case ; displaying variables when the html_errors php.ini setting is set to ``1`` or
; you do not want that, you can set this setting to 0, but check first if it's ; ``2``. In case you do not want that, you can set this setting to ``0``, but
; not smarter to turn off html_errors. ; check first if it's not smarter to turn off html_errors.
; ;
; You can also use ``2`` as value for this setting. Besides formatting the
; var_dump() output nicely, it will also add filename and line number to the
; output. The xdebug.file_link_format setting is also respected. *(New in Xdebug
; 2.3)*
;
; Before Xdebug 2.4, the default value of this setting was ``1``.
;
;
;xdebug.overload_var_dump = 2
; -----------------------------------------------------------------------------
; xdebug.profiler_aggregate
; ;
;xdebug.overload_var_dump = 1 ; Type: integer, Default value: 0
;
; When this setting is set to 1, a single profiler file will be written for
; multiple requests. One can surf to multiple pages or reload a page to get an
; **average** across all requests. The file will be named
; ``.cachegrind.aggregate``. You will need to move this file to get another
; round of aggregate data.
;
;
;xdebug.profiler_aggregate = 0
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.profiler_append ; xdebug.profiler_append
...@@ -404,10 +521,10 @@ ...@@ -404,10 +521,10 @@
; Type: integer, Default value: 0 ; Type: integer, Default value: 0
; ;
; When this setting is set to 1, profiler files will not be overwritten when a ; When this setting is set to 1, profiler files will not be overwritten when a
; new request would map to the same file (depnding on the ; new request would map to the same file (depending on the
; xdebug.profiler_output_name setting. Instead the file will be appended to with ; xdebug.profiler_output_name setting. Instead the file will be appended to with
; the new profile. ; the new profile.
; ;
; ;
;xdebug.profiler_append = 0 ;xdebug.profiler_append = 0
...@@ -421,7 +538,7 @@ ...@@ -421,7 +538,7 @@
; can not be set in your script with ini_set(). If you want to selectively ; can not be set in your script with ini_set(). If you want to selectively
; enable the profiler, please set xdebug.profiler_enable_trigger to 1 ; enable the profiler, please set xdebug.profiler_enable_trigger to 1
; **instead** of using this setting. ; **instead** of using this setting.
; ;
; ;
;xdebug.profiler_enable = 0 ;xdebug.profiler_enable = 0
...@@ -434,11 +551,28 @@ ...@@ -434,11 +551,28 @@
; files by using the XDEBUG_PROFILE GET/POST parameter, or set a cookie with the ; files by using the XDEBUG_PROFILE GET/POST parameter, or set a cookie with the
; name XDEBUG_PROFILE. This will then write the profiler data to defined ; name XDEBUG_PROFILE. This will then write the profiler data to defined
; directory. In order to prevent the profiler to generate profile files for each ; directory. In order to prevent the profiler to generate profile files for each
; request, you need to set xdebug.profiler_enable to 0. ; request, you need to set xdebug.profiler_enable to 0. Access to the trigger
; ; itself can be configured through xdebug.profiler_enable_trigger_value.
;
; ;
;xdebug.profiler_enable_trigger = 0 ;xdebug.profiler_enable_trigger = 0
; -----------------------------------------------------------------------------
; xdebug.profiler_enable_trigger_value
;
; Only in Xdebug versions > 2.3
;
; Type: string, Default value: ""
;
; This setting can be used to restrict who can make use of the XDEBUG_PROFILE
; functionality as outlined in xdebug.profiler_enable_trigger. When changed from
; its default value of an empty string, the value of the cookie, GET or POST
; argument needs to match the shared secret set with this setting in order for
; the profiler to start.
;
;
;xdebug.profiler_enable_trigger_value = ""
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.profiler_output_dir ; xdebug.profiler_output_dir
; ;
...@@ -447,7 +581,7 @@ ...@@ -447,7 +581,7 @@
; The directory where the profiler output will be written to, make sure that the ; The directory where the profiler output will be written to, make sure that the
; user who the PHP will be running as has write permissions to that directory. ; user who the PHP will be running as has write permissions to that directory.
; This setting can not be set in your script with ini_set(). ; This setting can not be set in your script with ini_set().
; ;
; ;
;xdebug.profiler_output_dir = /tmp ;xdebug.profiler_output_dir = /tmp
...@@ -460,12 +594,28 @@ ...@@ -460,12 +594,28 @@
; The setting specifies the format with format specifiers, very similar to ; The setting specifies the format with format specifiers, very similar to
; sprintf() and strftime(). There are several format specifiers that can be used ; sprintf() and strftime(). There are several format specifiers that can be used
; to format the file name. ; to format the file name.
; ;
; See the xdebug.trace_output_name documentation for the supported specifiers. ; See the xdebug.trace_output_name documentation for the supported specifiers.
; ;
; ;
;xdebug.profiler_output_name = cachegrind.out.%p ;xdebug.profiler_output_name = cachegrind.out.%p
; -----------------------------------------------------------------------------
; xdebug.remote_addr_header
;
; Only in Xdebug versions > 2.4
;
; Type: string, Default value: ""
;
; If xdebug.remote_addr_header is configured to be a non-empty string, then the
; value is used as key in the $SERVER superglobal array to determine which
; header to use to find the IP address or hostname to use for 'connecting back
; to'. This setting is only used in combination with xdebug.remote_connect_back
; and is otherwise ignored.
;
;
;xdebug.remote_addr_header = ""
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.remote_autostart ; xdebug.remote_autostart
; ;
...@@ -475,7 +625,7 @@ ...@@ -475,7 +625,7 @@
; debugging (see Remote Debugging). When this setting is set to 1, Xdebug will ; debugging (see Remote Debugging). When this setting is set to 1, Xdebug will
; always attempt to start a remote debugging session and try to connect to a ; always attempt to start a remote debugging session and try to connect to a
; client, even if the GET/POST/COOKIE variable was not present. ; client, even if the GET/POST/COOKIE variable was not present.
; ;
; ;
;xdebug.remote_autostart = 0 ;xdebug.remote_autostart = 0
...@@ -488,11 +638,20 @@ ...@@ -488,11 +638,20 @@
; ;
; If enabled, the xdebug.remote_host setting is ignored and Xdebug will try to ; If enabled, the xdebug.remote_host setting is ignored and Xdebug will try to
; connect to the client that made the HTTP request. It checks the ; connect to the client that made the HTTP request. It checks the
; $_SERVER['REMOTE_ADDR'] variable to find out which IP address to use. Please ; $_SERVER['HTTP_X_FORWARDED_FOR'] and $_SERVER['REMOTE_ADDR'] variables to find
; note that there is **no** filter available, and anybody who can connect to the ; out which IP address to use.
; webserver will then be able to start a debugging session, even if their ;
; If xdebug.remote_addr_header is configured, then the $SERVER variable with the
; configured name will be checked before the $_SERVER['HTTP_X_FORWARDED_FOR']
; and $_SERVER['REMOTE_ADDR'] variables.
;
; This setting does not apply for debugging through the CLI, as the $SERVER
; header variables are not available there.
;
; Please note that there is **no** filter available, and anybody who can connect
; to the webserver will then be able to start a debugging session, even if their
; address does not match xdebug.remote_host. ; address does not match xdebug.remote_host.
; ;
; ;
;xdebug.remote_connect_back = 0 ;xdebug.remote_connect_back = 0
...@@ -505,7 +664,7 @@ ...@@ -505,7 +664,7 @@
; ;
; This setting can be used to increase (or decrease) the time that the remote ; This setting can be used to increase (or decrease) the time that the remote
; debugging session stays alive via the session cookie. ; debugging session stays alive via the session cookie.
; ;
; ;
;xdebug.remote_cookie_expire_time = 3600 ;xdebug.remote_cookie_expire_time = 3600
...@@ -518,7 +677,7 @@ ...@@ -518,7 +677,7 @@
; is listening on the host and port as set with the settings xdebug.remote_host ; is listening on the host and port as set with the settings xdebug.remote_host
; and xdebug.remote_port. If a connection can not be established the script will ; and xdebug.remote_port. If a connection can not be established the script will
; just continue as if this setting was 0. ; just continue as if this setting was 0.
; ;
; ;
;xdebug.remote_enable = 0 ;xdebug.remote_enable = 0
...@@ -529,14 +688,13 @@ ...@@ -529,14 +688,13 @@
; ;
; Can be either 'php3' which selects the old PHP 3 style debugger [1] output, ; Can be either 'php3' which selects the old PHP 3 style debugger [1] output,
; 'gdb' which enables the GDB like debugger interface or 'dbgp' - the debugger ; 'gdb' which enables the GDB like debugger interface or 'dbgp' - the debugger
; protocol [2]. The DBGp protocol is more widely supported by clients. See more ; protocol [2]. The DBGp protocol is the only supported protocol.
; information in the introduction for Remote Debugging. ;
;
; [1] http://www.php.net/manual/en/debugger.php ; [1] http://www.php.net/manual/en/debugger.php
; [2] http://xdebug.org/docs-dbgp.php ; [2] https://xdebug.org/docs-dbgp.php
; ;
; **Note**: Xdebug 2.1 and later only support 'dbgp' as protocol. ; **Note**: Xdebug 2.1 and later only support 'dbgp' as protocol.
; ;
; ;
;xdebug.remote_handler = dbgp ;xdebug.remote_handler = dbgp
...@@ -548,20 +706,28 @@ ...@@ -548,20 +706,28 @@
; Selects the host where the debug client is running, you can either use a host ; Selects the host where the debug client is running, you can either use a host
; name or an IP address. This setting is ignored if xdebug.remote_connect_back ; name or an IP address. This setting is ignored if xdebug.remote_connect_back
; is enabled. ; is enabled.
; ;
; ;
;xdebug.remote_host = localhost ;xdebug.remote_host = localhost
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.remote_log ; xdebug.remote_log
; ;
; Type: string, Default value: ; Type: string, Default value:
; ;
; If set to a value, it is used as filename to a file to which all remote ; If set to a value, it is used as filename to a file to which all remote
; debugger communications are logged. The file is always opened in append-mode, ; debugger communications are logged. The file is always opened in append-mode,
; and will therefore not be overwritten by default. There is no concurrency ; and will therefore not be overwritten by default. There is no concurrency
; protection available. The format of the file looks something like: ; protection available. The format of the file looks something like:
;xdebug.remote_log = ;
; Log opened at 2007-05-27 14:28:15
; -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/x ... ight></init>
;
; <- step_into -i 1
; -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/db ... ></response>
;
;
;xdebug.remote_log =
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.remote_mode ; xdebug.remote_mode
...@@ -570,15 +736,15 @@ ...@@ -570,15 +736,15 @@
; ;
; Selects when a debug connection is initiated. This setting can have two ; Selects when a debug connection is initiated. This setting can have two
; different values: ; different values:
; ;
; req ; req
; Xdebug will try to connect to the debug client as soon as the script ; Xdebug will try to connect to the debug client as soon as the script
; starts. ; starts.
; ;
; jit ; jit
; Xdebug will only try to connect to the debug client as soon as an error ; Xdebug will only try to connect to the debug client as soon as an error
; condition occurs. ; condition occurs.
; ;
; ;
;xdebug.remote_mode = req ;xdebug.remote_mode = req
...@@ -590,31 +756,45 @@ ...@@ -590,31 +756,45 @@
; The port to which Xdebug tries to connect on the remote host. Port 9000 is the ; The port to which Xdebug tries to connect on the remote host. Port 9000 is the
; default for both the client and the bundled debugclient. As many clients use ; default for both the client and the bundled debugclient. As many clients use
; this port number, it is best to leave this setting unchanged. ; this port number, it is best to leave this setting unchanged.
; ;
; ;
;xdebug.remote_port = 9000 ;xdebug.remote_port = 9000
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.scream ; xdebug.scream
; ;
; Only in Xdebug versions > 2.1 ; Only in Xdebug versions >= 2.1
; ;
; Type: boolean, Default value: 0 ; Type: boolean, Default value: 0
; ;
; If this setting is 1, then Xdebug will disable the @ (shut-up) operator so ; If this setting is 1, then Xdebug will disable the @ (shut-up) operator so
; that notices, warnings and errors are no longer hidden. ; that notices, warnings and errors are no longer hidden.
; ;
; ;
;xdebug.scream = 0 ;xdebug.scream = 0
; -----------------------------------------------------------------------------
; xdebug.show_error_trace
;
; Type: integer, Default value: 0
;
; When this setting is set to 1, Xdebug will show a stack trace whenever an
; Error is raised - even if this Error is actually caught.
;
;
;xdebug.show_error_trace = 0
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.show_exception_trace ; xdebug.show_exception_trace
; ;
; Type: integer, Default value: 0 ; Type: integer, Default value: 0
; ;
; When this setting is set to 1, Xdebug will show a stack trace whenever an ; When this setting is set to 1, Xdebug will show a stack trace whenever an
; exception is raised - even if this exception is actually caught. ; Exception or Error is raised - even if this Exception or Error is actually
; ; caught.
;
; Error 'exceptions' were introduced in PHP 7.
;
; ;
;xdebug.show_exception_trace = 0 ;xdebug.show_exception_trace = 0
...@@ -627,7 +807,7 @@ ...@@ -627,7 +807,7 @@
; error situations will also show all variables in the top-most scope. Beware ; error situations will also show all variables in the top-most scope. Beware
; that this might generate a lot of information, and is therefore turned off by ; that this might generate a lot of information, and is therefore turned off by
; default. ; default.
; ;
; ;
;xdebug.show_local_vars = 0 ;xdebug.show_local_vars = 0
...@@ -640,7 +820,7 @@ ...@@ -640,7 +820,7 @@
; trace files will show the difference in memory usage between function calls. ; trace files will show the difference in memory usage between function calls.
; If Xdebug is configured to generate computer-readable trace files then they ; If Xdebug is configured to generate computer-readable trace files then they
; will always show this information. ; will always show this information.
; ;
; ;
;xdebug.show_mem_delta = 0 ;xdebug.show_mem_delta = 0
...@@ -655,23 +835,40 @@ ...@@ -655,23 +835,40 @@
; by using the XDEBUG_TRACE GET/POST parameter, or set a cookie with the name ; by using the XDEBUG_TRACE GET/POST parameter, or set a cookie with the name
; XDEBUG_TRACE. This will then write the trace data to defined directory. In ; XDEBUG_TRACE. This will then write the trace data to defined directory. In
; order to prevent Xdebug to generate trace files for each request, you need to ; order to prevent Xdebug to generate trace files for each request, you need to
; set xdebug.auto_trace to 0. ; set xdebug.auto_trace to 0. Access to the trigger itself can be configured
; ; through xdebug.trace_enable_trigger_value.
;
; ;
;xdebug.trace_enable_trigger = 0 ;xdebug.trace_enable_trigger = 0
; -----------------------------------------------------------------------------
; xdebug.trace_enable_trigger_value
;
; Only in Xdebug versions > 2.3
;
; Type: string, Default value: ""
;
; This setting can be used to restrict who can make use of the XDEBUG_TRACE
; functionality as outlined in xdebug.trace_enable_trigger. When changed from
; its default value of an empty string, the value of the cookie, GET or POST
; argument needs to match the shared secret set with this setting in order for
; the trace file to be generated.
;
;
;xdebug.trace_enable_trigger_value = ""
; ----------------------------------------------------------------------------- ; -----------------------------------------------------------------------------
; xdebug.trace_format ; xdebug.trace_format
; ;
; Type: integer, Default value: 0 ; Type: integer, Default value: 0
; ;
; The format of the trace file. ; The format of the trace file.
; ;
; ===== ============================================================================== ; ===== ==============================================================================
; Value Description ; Value Description
; ===== ============================================================================== ; ===== ==============================================================================
; 0 shows a human readable indented trace file with: ; 0 shows a human readable indented trace file with:
; ;
; *time index*, *memory usage*, *memory delta* (if the setting ; *time index*, *memory usage*, *memory delta* (if the setting
; xdebug.show_mem_delta is enabled), *level*, *function name*, *function ; xdebug.show_mem_delta is enabled), *level*, *function name*, *function
; parameters* (if the setting xdebug.collect_params is enabled), *filename* and ; parameters* (if the setting xdebug.collect_params is enabled), *filename* and
...@@ -683,19 +880,21 @@ ...@@ -683,19 +880,21 @@
; ----- ------------------------------------------------------------------------------ ; ----- ------------------------------------------------------------------------------
; 2 writes a trace formatted in (simple) HTML. ; 2 writes a trace formatted in (simple) HTML.
; ===== ============================================================================== ; ===== ==============================================================================
; ;
; Fields for the computerized format: ; Fields for the computerized format:
; ;
; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== ; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== ================= =============================================================
; Record type 1 2 3 4 5 6 7 8 9 10 ; Record type 1 2 3 4 5 6 7 8 9 10 11 12 - ...
; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== ; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== ================= =============================================================
; Entry level function # always '0' time index memory usage function name user-defined (1) or internal function (0) name of the include/require file filename line number ; Entry level function # always '0' time index memory usage function name user-defined (1) or internal function (0) name of the include/require file filename line number no. of parameters parameters (as many as specified in field 11) - tab separated
; ----------- ----- ----------- ----------- ---------- ------------ ------------- ------------------------------------------- -------------------------------- -------- ----------- ; ----------- ----- ----------- ----------- ---------- ------------ ------------- ------------------------------------------- -------------------------------- -------- ----------- ----------------- -------------------------------------------------------------
; Exit level function # always '1' time index memory usage empty ; Exit level function # always '1' time index memory usage empty
; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== ; ----------- ----- ----------- ----------- ---------- ------------ ------------- ------------------------------------------- -------------------------------- -------- ----------- ----------------- -------------------------------------------------------------
; ; Return level function # always 'R' empty return value empty
; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== ================= =============================================================
;
; See the introduction of Function Traces for a few examples. ; See the introduction of Function Traces for a few examples.
; ;
; ;
;xdebug.trace_format = 0 ;xdebug.trace_format = 0
...@@ -706,7 +905,7 @@ ...@@ -706,7 +905,7 @@
; ;
; When set to '1' the trace files will be appended to, instead of being ; When set to '1' the trace files will be appended to, instead of being
; overwritten in subsequent requests. ; overwritten in subsequent requests.
; ;
; ;
;xdebug.trace_options = 0 ;xdebug.trace_options = 0
...@@ -717,7 +916,7 @@ ...@@ -717,7 +916,7 @@
; ;
; The directory where the tracing files will be written to, make sure that the ; The directory where the tracing files will be written to, make sure that the
; user who the PHP will be running as has write permissions to that directory. ; user who the PHP will be running as has write permissions to that directory.
; ;
; ;
;xdebug.trace_output_dir = /tmp ;xdebug.trace_output_dir = /tmp
...@@ -730,9 +929,9 @@ ...@@ -730,9 +929,9 @@
; The setting specifies the format with format specifiers, very similar to ; The setting specifies the format with format specifiers, very similar to
; sprintf() and strftime(). There are several format specifiers that can be used ; sprintf() and strftime(). There are several format specifiers that can be used
; to format the file name. The '.xt' extension is always added automatically. ; to format the file name. The '.xt' extension is always added automatically.
; ;
; The possible format specifiers are: ; The possible format specifiers are:
; ;
; ========= ====================================== ================= ==================================================== ; ========= ====================================== ================= ====================================================
; Specifier Meaning Example Format Example Filename ; Specifier Meaning Example Format Example Filename
; ========= ====================================== ================= ==================================================== ; ========= ====================================== ================= ====================================================
...@@ -753,20 +952,20 @@ ...@@ -753,20 +952,20 @@
; %R $_SERVER['REQUEST_URI'] trace.%R trace._test_xdebug_test_php_var=1_var2=2.xt ; %R $_SERVER['REQUEST_URI'] trace.%R trace._test_xdebug_test_php_var=1_var2=2.xt
; --------- -------------------------------------- ----------------- ---------------------------------------------------- ; --------- -------------------------------------- ----------------- ----------------------------------------------------
; %U $_SERVER['UNIQUE_ID'] trace.%U trace.TRX4n38AAAEAAB9gBFkAAAAB.xt ; %U $_SERVER['UNIQUE_ID'] trace.%U trace.TRX4n38AAAEAAB9gBFkAAAAB.xt
; ;
; 3 ; 3
; --------- -------------------------------------- ----------------- ---------------------------------------------------- ; --------- -------------------------------------- ----------------- ----------------------------------------------------
; %S session_id (from $_COOKIE if set) trace.%S trace.c70c1ec2375af58f74b390bbdd2a679d.xt ; %S session_id (from $_COOKIE if set) trace.%S trace.c70c1ec2375af58f74b390bbdd2a679d.xt
; --------- -------------------------------------- ----------------- ---------------------------------------------------- ; --------- -------------------------------------- ----------------- ----------------------------------------------------
; %% literal % trace.%% trace.%%.xt ; %% literal % trace.%% trace.%%.xt
; ========= ====================================== ================= ==================================================== ; ========= ====================================== ================= ====================================================
; ;
; 2 This one is not available for trace file names. ; 2 This one is not available for trace file names.
; ;
; 3 New in version 2.2. This one is set by Apache's mod_unique_id module [1] ; 3 New in version 2.2. This one is set by Apache's mod_unique_id module [1]
; ;
; [1] http://httpd.apache.org/docs/2.2/en/mod/mod_unique_id.html ; [1] http://httpd.apache.org/docs/2.2/en/mod/mod_unique_id.html
; ;
; ;
;xdebug.trace_output_name = trace.%c ;xdebug.trace_output_name = trace.%c
...@@ -778,12 +977,12 @@ ...@@ -778,12 +977,12 @@
; Controls the amount of array children and object's properties are shown when ; Controls the amount of array children and object's properties are shown when
; variables are displayed with either xdebug_var_dump(), xdebug.show_local_vars ; variables are displayed with either xdebug_var_dump(), xdebug.show_local_vars
; or through Function Traces. ; or through Function Traces.
; ;
; To disable any limitation, use *-1* as value. ; To disable any limitation, use *-1* as value.
; ;
; This setting does not have any influence on the number of children that is ; This setting does not have any influence on the number of children that is
; send to the client through the Remote Debugging feature. ; send to the client through the Remote Debugging feature.
; ;
; ;
;xdebug.var_display_max_children = 128 ;xdebug.var_display_max_children = 128
...@@ -795,12 +994,12 @@ ...@@ -795,12 +994,12 @@
; Controls the maximum string length that is shown when variables are displayed ; Controls the maximum string length that is shown when variables are displayed
; with either xdebug_var_dump(), xdebug.show_local_vars or through Function ; with either xdebug_var_dump(), xdebug.show_local_vars or through Function
; Traces. ; Traces.
; ;
; To disable any limitation, use *-1* as value. ; To disable any limitation, use *-1* as value.
; ;
; This setting does not have any influence on the number of children that is ; This setting does not have any influence on the number of children that is
; send to the client through the Remote Debugging feature. ; send to the client through the Remote Debugging feature.
; ;
; ;
;xdebug.var_display_max_data = 512 ;xdebug.var_display_max_data = 512
...@@ -812,13 +1011,13 @@ ...@@ -812,13 +1011,13 @@
; Controls how many nested levels of array elements and object properties are ; Controls how many nested levels of array elements and object properties are
; when variables are displayed with either xdebug_var_dump(), ; when variables are displayed with either xdebug_var_dump(),
; xdebug.show_local_vars or through Function Traces. ; xdebug.show_local_vars or through Function Traces.
; ;
; The maximum value you can select is 1023. You can also use *-1* as value to ; The maximum value you can select is 1023. You can also use *-1* as value to
; select this maximum number. ; select this maximum number.
; ;
; This setting does not have any influence on the number of children that is ; This setting does not have any influence on the number of children that is
; send to the client through the Remote Debugging feature. ; send to the client through the Remote Debugging feature.
; ;
; ;
;xdebug.var_display_max_depth = 3 ;xdebug.var_display_max_depth = 3
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment