diff --git a/recipes/default.rb b/recipes/default.rb index 08fa699043898481b4eb040ae7e295ee751e67c1..81ae53cdc51b475108b91bd39968b929e332b83a 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -23,15 +23,12 @@ # THE SOFTWARE. if node['platform_version'] == '16.04' - package 'php-xdebug' - - template '/etc/php/' + node['ubuntu_base']['php_version'] + '/apache2/conf.d/xdebug.ini' do - mode '0644' + package 'php-xdebug' do + action 'upgrade' 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' - notifies :restart, 'service[apache2]', :delayed end else package 'php5.6-xdebug' diff --git a/templates/default/xdebug.ini.erb b/templates/default/xdebug.ini.erb index 7a582e70a6e81d55f865654d1cae1943ad772632..9d6bea814996ee4e477061efaef41147f7a5fc44 100644 --- a/templates/default/xdebug.ini.erb +++ b/templates/default/xdebug.ini.erb @@ -2,6 +2,7 @@ ; (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=xdebug.so ; ----------------------------------------------------------------------------- ; xdebug.auto_trace @@ -11,9 +12,9 @@ ; 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 ; 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 @@ -27,17 +28,17 @@ ; 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 ; needs to be installed. -; +; ; [1] http://adoxa.110mb.com/ansicon/ -; +; ; 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 ; this case, you might end up seeing escape codes. -; +; ; See this article [1] for some more information. -; -; [1] http://drck.me/clicolor-9cr -; +; +; [1] https://drck.me/clicolor-9cr +; ; ;xdebug.cli_color = 0 @@ -50,7 +51,7 @@ ; ; This setting, defaulting to 0, controls whether Xdebug should add variable ; assignments to function traces. -; +; ; ;xdebug.collect_assignments = 0 @@ -62,7 +63,7 @@ ; This setting, defaulting to 1, controls whether Xdebug should write the ; filename used in include(), include_once(), require() or require_once() to the ; trace files. -; +; ; ;xdebug.collect_includes = 1 @@ -74,7 +75,7 @@ ; This setting, defaulting to 0, controls whether Xdebug should collect the ; parameters passed to functions when a function call is recorded in either the ; function trace or the stack trace. -; +; ; 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. ; You can most safely turn this setting on, but you can expect some problems in @@ -83,12 +84,12 @@ ; 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 ; though. -; +; ; 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 ; each of the values provides. See also the introduction of the feature Stack ; Traces for a few screenshots. -; +; ; ===== ======================================================================== ; Value Argument Information Shown ; ===== ======================================================================== @@ -103,11 +104,15 @@ ; xdebug.var_display_max_depth. ; ----- ------------------------------------------------------------------------ ; 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 ; files. -; +; ; ;xdebug.collect_params = 0 @@ -118,7 +123,10 @@ ; ; This setting, defaulting to 0, controls whether Xdebug should write the return ; 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 @@ -132,21 +140,21 @@ ; engineer PHP's opcode arrays. This setting will not record which values the ; 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(). -; +; ; ;xdebug.collect_vars = 0 ; ----------------------------------------------------------------------------- ; xdebug.coverage_enable ; -; Only in Xdebug versions > 2.2 +; Only in Xdebug versions >= 2.2 ; ; Type: boolean, Default value: 1 ; ; 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 ; Coverage Analysis won't work. -; +; ; ;xdebug.coverage_enable = 1 @@ -159,7 +167,7 @@ ; event. You can disable showing stacktraces from your code with ; xdebug_disable(). As this is one of the basic functions of Xdebug, it is ; advisable to leave this setting set to 1. -; +; ; ;xdebug.default_enable = 1 @@ -168,15 +176,20 @@ ; ; Type: string, Default value: Empty ; -; * = COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION. These seven settings -; control which data from the superglobals is shown when an error situation -; occurs. Each php.ini setting can consist of a comma seperated list of -; 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 -; an error occurs, add this setting: -; +; * can be any of COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION. These +; seven settings control which data from the superglobals is shown when an error +; situation occurs. +; +; Each of those php.ini setting can consist of a comma seperated list of +; 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.GET = * +; ; ;xdebug.dump.* = Empty @@ -186,8 +199,8 @@ ; Type: boolean, Default value: 1 ; ; 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 @@ -198,7 +211,7 @@ ; ; 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). -; +; ; ;xdebug.dump_once = 1 @@ -209,7 +222,7 @@ ; ; If you want to dump undefined values from the superglobals you should set this ; setting to 1, otherwise leave it set to 0. -; +; ; ;xdebug.dump_undefined = 0 @@ -224,7 +237,7 @@ ; 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 ; scripts with ini_set(), but only in php.ini. -; +; ; ;xdebug.extended_info = 1 @@ -233,18 +246,18 @@ ; ; 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 ; 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 ; clicking on the filenames that Xdebug shows in stack traces. An example format ; might look like: -; +; ; myide://%f@%l -; +; ; The possible format specifiers are: -; +; ; ========= =============== ; Specifier Meaning ; ========= =============== @@ -252,95 +265,163 @@ ; --------- --------------- ; %l the line number ; ========= =============== -; +; ; For various IDEs/OSses there are some instructions listed on how to make this ; work: -; +; ; ---------------- ; Firefox on Linux ; ---------------- -; +; ; - Open -; +; ; 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 -; +; ; ``~/bin/ff-xdebug.sh``: -; +; ; #! /bin/sh -; +; ; f=`echo $1 | cut -d @ -f 1 | sed 's/xdebug:\/\///'` ; 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 -; +; ; - gvim --remote-tab +$l $f -; +; +; - netbeans "$f:$l" +; ; - Make the script executable with -; +; ; chmod +x ~/bin/ff-xdebug.sh -; +; ; - Set the xdebug.file_link_format setting to -; +; ; xdebug://%f@%l -; +; ; -------------------- ; Windows and netbeans ; -------------------- -; +; ; - Create the file -; +; ; ``netbeans.bat`` and save it in your path ( ``C:\Windows`` will work): -; -; @echo off -; setlocal enableextensions enabledelayedexpansion +; +; @echo off +; setlocal enableextensions enabledelayedexpansion ; set NETBEANS=%1 ; set FILE=%~2 ; %NETBEANS% --nosplash --console suppress --open "%FILE:~19%" ; nircmd win activate process netbeans.exe -; +; ; **Note:** Remove the last line if you don't have ``nircmd``. -; +; ; - Save the following code as -; +; ; ``netbeans_protocol.reg``: -; +; ; Windows Registry Editor Version 5.00 -; +; ; [HKEY_CLASSES_ROOT\netbeans] ; "URL Protocol"="" ; @="URL:Netbeans Protocol" -; +; ; [HKEY_CLASSES_ROOT\netbeans\DefaultIcon] ; @="\"C:\\Program Files\\NetBeans 7.1.1\\bin\\netbeans.exe,1\"" -; +; ; [HKEY_CLASSES_ROOT\netbeans\shell] -; +; ; [HKEY_CLASSES_ROOT\netbeans\shell\open] -; +; ; [HKEY_CLASSES_ROOT\netbeans\shell\open\command] ; @="\"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 ; ``netbeans.bat`` batch file if you saved it somewhere else than ; ``C:\Windows\``. -; +; ; - Double click on the -; +; ; ``netbeans_protocol.reg`` file to import it into the registry. -; +; ; - Set the xdebug.file_link_format setting to -; +; ; xdebug.file_link_format = ; "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 @@ -353,7 +434,7 @@ ; 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 ; environment variables. -; +; ; ;xdebug.idekey = *complex* @@ -367,36 +448,72 @@ ; 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 ; this setting to use the closest mirror. -; +; ; ;xdebug.manual_url = http://www.php.net ; ----------------------------------------------------------------------------- ; xdebug.max_nesting_level ; -; Type: integer, Default value: 100 +; Type: integer, Default value: 256 ; ; Controls the protection mechanism for infinite recursion protection. The value ; of this setting is the maximum level of nested functions that are allowed ; 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 ; ; 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 -; displaying variables when the html_errors php.ini setting is set to 1. In case -; you do not want that, you can set this setting to 0, but check first if it's -; not smarter to turn off html_errors. -; +; displaying variables when the html_errors php.ini setting is set to ``1`` or +; ``2``. In case you do not want that, you can set this setting to ``0``, but +; 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 @@ -404,10 +521,10 @@ ; Type: integer, Default value: 0 ; ; 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 ; the new profile. -; +; ; ;xdebug.profiler_append = 0 @@ -421,7 +538,7 @@ ; 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 ; **instead** of using this setting. -; +; ; ;xdebug.profiler_enable = 0 @@ -434,11 +551,28 @@ ; 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 ; 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_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 ; @@ -447,7 +581,7 @@ ; 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. ; This setting can not be set in your script with ini_set(). -; +; ; ;xdebug.profiler_output_dir = /tmp @@ -460,12 +594,28 @@ ; The setting specifies the format with format specifiers, very similar to ; sprintf() and strftime(). There are several format specifiers that can be used ; to format the file name. -; +; ; See the xdebug.trace_output_name documentation for the supported specifiers. -; +; ; ;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 ; @@ -475,7 +625,7 @@ ; 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 ; client, even if the GET/POST/COOKIE variable was not present. -; +; ; ;xdebug.remote_autostart = 0 @@ -488,11 +638,20 @@ ; ; 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 -; $_SERVER['REMOTE_ADDR'] variable to find out which IP address to use. 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 +; $_SERVER['HTTP_X_FORWARDED_FOR'] and $_SERVER['REMOTE_ADDR'] variables to find +; out which IP address to use. +; +; 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. -; +; ; ;xdebug.remote_connect_back = 0 @@ -505,7 +664,7 @@ ; ; This setting can be used to increase (or decrease) the time that the remote ; debugging session stays alive via the session cookie. -; +; ; ;xdebug.remote_cookie_expire_time = 3600 @@ -518,7 +677,7 @@ ; 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 ; just continue as if this setting was 0. -; +; ; ;xdebug.remote_enable = 0 @@ -529,14 +688,13 @@ ; ; 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 -; protocol [2]. The DBGp protocol is more widely supported by clients. See more -; information in the introduction for Remote Debugging. -; +; protocol [2]. The DBGp protocol is the only supported protocol. +; ; [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. -; +; ; ;xdebug.remote_handler = dbgp @@ -548,20 +706,28 @@ ; 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 ; is enabled. -; +; ; ;xdebug.remote_host = localhost ; ----------------------------------------------------------------------------- ; 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 ; debugger communications are logged. The file is always opened in append-mode, ; and will therefore not be overwritten by default. There is no concurrency ; 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 @@ -570,15 +736,15 @@ ; ; Selects when a debug connection is initiated. This setting can have two ; different values: -; +; ; req ; Xdebug will try to connect to the debug client as soon as the script ; starts. -; +; ; jit ; Xdebug will only try to connect to the debug client as soon as an error ; condition occurs. -; +; ; ;xdebug.remote_mode = req @@ -590,31 +756,45 @@ ; 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 ; this port number, it is best to leave this setting unchanged. -; +; ; ;xdebug.remote_port = 9000 ; ----------------------------------------------------------------------------- ; xdebug.scream ; -; Only in Xdebug versions > 2.1 +; Only in Xdebug versions >= 2.1 ; ; Type: boolean, Default value: 0 ; ; If this setting is 1, then Xdebug will disable the @ (shut-up) operator so ; that notices, warnings and errors are no longer hidden. -; +; ; ;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 ; ; Type: integer, Default value: 0 ; ; 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 @@ -627,7 +807,7 @@ ; 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 ; default. -; +; ; ;xdebug.show_local_vars = 0 @@ -640,7 +820,7 @@ ; trace files will show the difference in memory usage between function calls. ; If Xdebug is configured to generate computer-readable trace files then they ; will always show this information. -; +; ; ;xdebug.show_mem_delta = 0 @@ -655,23 +835,40 @@ ; 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 ; 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_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 ; ; Type: integer, Default value: 0 ; ; The format of the trace file. -; +; ; ===== ============================================================================== ; Value Description ; ===== ============================================================================== ; 0 shows a human readable indented trace file with: -; +; ; *time index*, *memory usage*, *memory delta* (if the setting ; xdebug.show_mem_delta is enabled), *level*, *function name*, *function ; parameters* (if the setting xdebug.collect_params is enabled), *filename* and @@ -683,19 +880,21 @@ ; ----- ------------------------------------------------------------------------------ ; 2 writes a trace formatted in (simple) HTML. ; ===== ============================================================================== -; +; ; Fields for the computerized format: -; -; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== -; Record type 1 2 3 4 5 6 7 8 9 10 -; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== -; 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 -; ----------- ----- ----------- ----------- ---------- ------------ ------------- ------------------------------------------- -------------------------------- -------- ----------- -; Exit level function # always '1' time index memory usage empty -; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== -; +; +; =========== ===== =========== =========== ========== ============ ============= =========================================== ================================ ======== =========== ================= ============================================================= +; 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 no. of parameters parameters (as many as specified in field 11) - tab separated +; ----------- ----- ----------- ----------- ---------- ------------ ------------- ------------------------------------------- -------------------------------- -------- ----------- ----------------- ------------------------------------------------------------- +; 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. -; +; ; ;xdebug.trace_format = 0 @@ -706,7 +905,7 @@ ; ; When set to '1' the trace files will be appended to, instead of being ; overwritten in subsequent requests. -; +; ; ;xdebug.trace_options = 0 @@ -717,7 +916,7 @@ ; ; 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. -; +; ; ;xdebug.trace_output_dir = /tmp @@ -730,9 +929,9 @@ ; The setting specifies the format with format specifiers, very similar to ; sprintf() and strftime(). There are several format specifiers that can be used ; to format the file name. The '.xt' extension is always added automatically. -; +; ; The possible format specifiers are: -; +; ; ========= ====================================== ================= ==================================================== ; Specifier Meaning Example Format Example Filename ; ========= ====================================== ================= ==================================================== @@ -753,20 +952,20 @@ ; %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 -; -; 3 +; +; 3 ; --------- -------------------------------------- ----------------- ---------------------------------------------------- ; %S session_id (from $_COOKIE if set) trace.%S trace.c70c1ec2375af58f74b390bbdd2a679d.xt ; --------- -------------------------------------- ----------------- ---------------------------------------------------- ; %% literal % trace.%% trace.%%.xt ; ========= ====================================== ================= ==================================================== -; +; ; 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] -; +; ; [1] http://httpd.apache.org/docs/2.2/en/mod/mod_unique_id.html -; +; ; ;xdebug.trace_output_name = trace.%c @@ -778,12 +977,12 @@ ; 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 ; or through Function Traces. -; +; ; To disable any limitation, use *-1* as value. -; +; ; This setting does not have any influence on the number of children that is ; send to the client through the Remote Debugging feature. -; +; ; ;xdebug.var_display_max_children = 128 @@ -795,12 +994,12 @@ ; Controls the maximum string length that is shown when variables are displayed ; with either xdebug_var_dump(), xdebug.show_local_vars or through Function ; Traces. -; +; ; To disable any limitation, use *-1* as value. -; +; ; This setting does not have any influence on the number of children that is ; send to the client through the Remote Debugging feature. -; +; ; ;xdebug.var_display_max_data = 512 @@ -812,13 +1011,13 @@ ; Controls how many nested levels of array elements and object properties are ; when variables are displayed with either xdebug_var_dump(), ; xdebug.show_local_vars or through Function Traces. -; +; ; The maximum value you can select is 1023. You can also use *-1* as value to ; select this maximum number. -; +; ; This setting does not have any influence on the number of children that is ; send to the client through the Remote Debugging feature. -; +; ; ;xdebug.var_display_max_depth = 3