diff options
author | Remi Collet <remi@remirepo.net> | 2024-10-04 17:28:19 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2024-10-04 17:28:19 +0200 |
commit | c74ac329206e21a089e3e7d68982b8def14bc24b (patch) | |
tree | 2c0358859ac6db207c97177d98f706c4aaadc6ba /xdebug.ini | |
parent | 151f81e119e213567cc7e681328dea8968f8e913 (diff) |
Diffstat (limited to 'xdebug.ini')
-rw-r--r-- | xdebug.ini | 1275 |
1 files changed, 1275 insertions, 0 deletions
diff --git a/xdebug.ini b/xdebug.ini new file mode 100644 index 0000000..f2e71f7 --- /dev/null +++ b/xdebug.ini @@ -0,0 +1,1275 @@ +; This file is generated by the 'xdebug.org:html/docs/convert.php' robot +; for Xdebug 3.4.0alpha1 — do not modify by hand + +; ----------------------------------------------------------------------------- +; xdebug.cli_color +; +; Type: integer, Default value: 0 +; +; 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.altervista.org/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] https://derickrethans.nl/cli-color.html +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.cli_color = 0 + +; ----------------------------------------------------------------------------- +; xdebug.client_discovery_header +; +; Type: string, Default value: "HTTP_X_FORWARDED_FOR,REMOTE_ADDR" +; +; If xdebug.client_discovery_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.discover_client_host and is otherwise ignored. +; +; For example, if xdebug.client_discovery_header is set to +; ``HTTP_FORWARD_HOST``, then Xdebug will check +; ``$_SERVER['HTTP_FORWARD_HOST']`` to obtain the IP address to use for +; 'connecting back'. +; +; It is possible to configure multiple fallbacks by using a comma separated list +; of values. For example if you want to use ``HTTP_FORWARD_HOST`` first, and +; then also want to check ``REMOTE_ADDR``, then you set +; xdebug.client_discovery_header to ``HTTP_FORWARD_HOST,REMOTE_ADDR``. +; +; .. warning:: +; +; PHP automatically prepends ``HTTP_``, and converts ``-`` to ``_``, for +; received HTTP header names. The ``THIS-IS-MY-HOST`` HTTP header is +; converted into ``$_SERVER['HTTP_THIS_IS_MY_HOST']``. Therefore, the +; xdebug.client_discovery_header needs to be set to ``HTTP_THIS_IS_MY_HOST`` +; to match this. +; +; If you have logging enabled, and set the xdebug.log_level setting to ``10``, +; then Xdebug will list every header, the header value, and the used header (if +; any) when attempting to find the IP address to connect back to. +; +; .. note:: +; +; Xdebug 3.2 and later no longer fall back to the +; ``$_SERVER['HTTP_X_FORWARDED_FOR']`` and ``$_SERVER['REMOTE_ADDR']`` header +; values by default. If you want these headers to be used as well, you +; specifically need to add these to the list of headers, by setting +; xdebug.client_discovery_header to +; ``YOUR_OWN_HEADER,HTTP_X_FORWARDED_FOR,REMOTE_ADDR``. +; +; +;xdebug.client_discovery_header = "HTTP_X_FORWARDED_FOR,REMOTE_ADDR" + +; ----------------------------------------------------------------------------- +; xdebug.client_host +; +; Type: string, Default value: localhost +; +; Configures the IP address or hostname where Xdebug will attempt to connect to +; when initiating a debugging connection. This address should be the address of +; the machine where your IDE or debugging client is listening for incoming +; debugging connections. +; +; On non-Windows platforms, it is also possible to configure a Unix domain +; socket [1] which is supported by only a select view debugging clients. In that +; case, instead of the hostname or IP address, use ``unix:///path/to/sock``. +; +; [1] https://en.wikipedia.org/wiki/Unix_domain_socket +; +; If xdebug.discover_client_host is enabled then Xdebug will only use the value +; of this setting in case Xdebug can not connect to an IDE using the information +; it obtained from HTTP headers. In that case, the value of this setting acts as +; a fallback only. +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.client_host = localhost + +; ----------------------------------------------------------------------------- +; xdebug.client_port +; +; Type: integer, Default value: 9003 +; +; The port to which Xdebug tries to connect on the remote host. Port ``9003`` is +; the default for both Xdebug and the Command Line Debug Client. As many clients +; use this port number, it is best to leave this setting unchanged. +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.client_port = 9003 + +; ----------------------------------------------------------------------------- +; xdebug.cloud_id +; +; Type: string, Default value: +; +; With this setting you configure Xdebug for use with Xdebug Cloud [1]. It needs +; to match one of the tokens from your profile page [2]. +; +; [1] https://xdebug.cloud +; [2] https://xdebug.cloud/profile#tokens +; +; Your IDE needs to be configured with the same token for Xdebug and your IDE to +; communicate through Xdebug Cloud. +; +; | In PhpStorm you can find this setting under: +; | File | Settings | PHP | Debug | Xdebug Cloud for Windows and Linux +; | PhpStorm | Preferences | PHP | Debug | Xdebug Cloud for macOS +; +; +;xdebug.cloud_id = + +; ----------------------------------------------------------------------------- +; xdebug.collect_assignments +; +; Type: boolean, Default value: false +; +; This setting, defaulting to 0, controls whether Xdebug should add variable +; assignments to function traces. Assign-by-var ( ``=&``) assignments are +; included too. +; +; +;xdebug.collect_assignments = false + +; ----------------------------------------------------------------------------- +; xdebug.collect_params +; +; Introduced in version 3.3 +; +; Type: boolean, Default value: true +; +; If enabled (default), files created with the Function Trace feature will +; include all arguments to functions and methods. +; +; When disabled, the argument to each function and method will not be present in +; the trace files. +; +; +;xdebug.collect_params = true + +; ----------------------------------------------------------------------------- +; xdebug.collect_return +; +; Type: boolean, Default value: false +; +; This setting, defaulting to 0, controls whether Xdebug should write the return +; value of function calls to the trace files. +; +; +;xdebug.collect_return = false + +; ----------------------------------------------------------------------------- +; xdebug.connect_timeout_ms +; +; Type: integer, Default value: 200 +; +; The amount of time in milliseconds that Xdebug will wait for on an IDE to +; acknowledge an incoming debugging connection. The default value of 200 ms +; should in most cases be enough. In case you often get dropped debugging +; requests, perhaps because you have a high latency network, or a development +; box far away from your IDE, or have a slow firewall, then you can should +; increase this value. +; +; Please note that increasing this value might mean that your requests seem to +; 'hang' in case Xdebug tries to establish a connection, but your IDE is not +; listening. +; +; +;xdebug.connect_timeout_ms = 200 + +; ----------------------------------------------------------------------------- +; xdebug.discover_client_host +; +; Type: boolean, Default value: false +; +; If enabled, Xdebug will first try to connect to the client that made the HTTP +; request. It checks the ``$_SERVER['HTTP_X_FORWARDED_FOR']`` and +; ``$_SERVER['REMOTE_ADDR']`` variables to find out which hostname or IP address +; to use. +; +; If xdebug.client_discovery_header is configured, then the ``$_SERVER`` +; variable with that configured name will be checked instead of the default +; variables. +; +; If Xdebug can not connect to a debugging client as found in one of the HTTP +; headers, it will fall back to the hostname or IP address as configured by the +; xdebug.client_host setting. +; +; This setting does not apply for debugging through the CLI, as the ``$_SERVER`` +; header variables are not available there. +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; .. warning:: +; +; 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.client_host. +; +; +;xdebug.discover_client_host = false + +; ----------------------------------------------------------------------------- +; xdebug.dump.* +; +; Type: string, Default value: Empty +; +; * 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 separated 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 + +; ----------------------------------------------------------------------------- +; xdebug.dump_globals +; +; Type: boolean, Default value: true +; +; When this setting is set to ``true``, Xdebug adds the values of the super +; globals as configured through the xdebug.dump.* to on-screen stack traces and +; the error log (if enabled). +; +; +;xdebug.dump_globals = true + +; ----------------------------------------------------------------------------- +; xdebug.dump_once +; +; Type: boolean, Default value: true +; +; 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 = true + +; ----------------------------------------------------------------------------- +; xdebug.dump_undefined +; +; Type: boolean, Default value: false +; +; 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 = false + +; ----------------------------------------------------------------------------- +; xdebug.file_link_format +; +; 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 +; ========= =============== +; %f the filename +; --------- --------------- +; %l the line number +; ========= =============== +; +; For various IDEs/OSses there are some instructions listed on how to make this +; work: +; +; -------- +; PhpStorm +; -------- +; +; In the configuration file, add the following line, including the single +; quotes. This uses PhpStorm's REST API. +; +; xdebug.file_link_format='javascript: var r = new XMLHttpRequest; r.open("get", "http://localhost:63342/api/file/%f:%l");r.send()' +; +; +; ---------------- +; Firefox on Linux +; ---------------- +; +; - Open +; +; about:config +; +; - 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, 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 +; set NETBEANS=%1 +; set FILE=%~2 +; set FILE=!FILE:%%5C=\! +; %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.filename_format +; +; Type: string, Default value: ...%s%n +; +; This setting determines the format with which Xdebug renders filenames in HTML +; stack traces (default: ``...%s%n``) and location information through the +; overloaded xdebug_var_dump() (default: ``%f``). +; +; The possible format specifiers are listed in this table. The example output is +; rendered according to the full path +; ``/var/www/vendor/mail/transport/mta.php``. +; +; ========= ============================================== =========================================================== +; Specifier Meaning Example Output +; ========= ============================================== =========================================================== +; %a Ancester: Two directory elements and filename mail/transport/mta.php +; --------- ---------------------------------------------- ----------------------------------------------------------- +; %f Full path /var/www/vendor/mail/transport/mta.php +; --------- ---------------------------------------------- ----------------------------------------------------------- +; %n Name: Only the file name mta.php +; --------- ---------------------------------------------- ----------------------------------------------------------- +; %p Parent: One directory element and the filename transport/mta.php +; --------- ---------------------------------------------- ----------------------------------------------------------- +; %s Directory separator / +; on Linux, OSX and other Unix-like systems, ``\`` on Windows +; ========= ============================================== =========================================================== +; +; +;xdebug.filename_format = ...%s%n + +; ----------------------------------------------------------------------------- +; xdebug.force_display_errors +; +; Type: integer, 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] https://www.php.net/manual/errorfunc.configuration.php#ini.display-errors +; +; +;xdebug.force_display_errors = 0 + +; ----------------------------------------------------------------------------- +; xdebug.force_error_reporting +; +; Type: integer, 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] https://www.php.net/manual/errorfunc.configuration.php#ini.error-reporting +; [2] https://www.php.net/manual/errorfunc.configuration.php#ini.error-reporting +; [3] https://www.php.net/manual/function.ini-set.php +; +; +;xdebug.force_error_reporting = 0 + +; ----------------------------------------------------------------------------- +; xdebug.gc_stats_output_name +; +; Type: string, Default value: gcstats.%p +; +; This setting determines the name of the file that is used to dump garbage +; collection statistics into. 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.gc_stats_output_name = gcstats.%p + +; ----------------------------------------------------------------------------- +; xdebug.halt_level +; +; Type: integer, 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 +; +; Type: string, Default value: *complex* +; +; Controls which IDE Key Xdebug should pass on to the debugging client or proxy. +; The IDE Key is only important for use with the DBGp Proxy Tool, although some +; IDEs are incorrectly picky as to what its value is. +; +; The default is based on the ``DBGP_IDEKEY`` environment setting. If it is not +; present, the default falls back to an empty string. +; +; If this setting is set to a non-empty string, it selects its value over +; ``DBGP_IDEKEY`` environment variable as default value. +; +; The internal IDE Key also gets updated through debugging session management +; and overrides the value of this setting as is explained in the Step Debugging +; documentation. +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.idekey = *complex* + +; ----------------------------------------------------------------------------- +; xdebug.log +; +; Type: string, Default value: +; +; Configures Xdebug's log file. +; +; Xdebug will log to this file all file creations issues, Step Debugging +; connection attempts, failures, and debug communication. +; +; Enable this functionality by setting the value to a absolute path. Make sure +; that the system user that PHP runs at (such as ``www-data`` if you are running +; with Apache) can create and write to the file. +; +; The file is opened in append-mode, and will therefore not be overwritten by +; default. There is no concurrency protection available. +; +; The log file will include any attempt that Xdebug makes to connect to an IDE: +; +; [2693358] Log opened at 2020-09-02 07:19:09.616195 +; [2693358] [Step Debug] INFO: Connecting to configured address/port: localhost:9003. +; [2693358] [Step Debug] ERR: Could not connect to debugging client. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port). +; [2693358] [Profiler] ERR: File '/foo/cachegrind.out.2693358' could not be opened. +; [2693358] [Profiler] WARN: /foo: No such file or directory +; [2693358] [Tracing] ERR: File '/foo/trace.1485761369' could not be opened. +; [2693358] [Tracing] WARN: /foo: No such file or directory +; [2693358] Log closed at 2020-09-02 07:19:09.617510 +; +; It includes the opening time ( ``2020-09-02 07:19:09.616195``), the +; IP/Hostname and port Xdebug is trying to connect to ( ``localhost:9003``), and +; whether it succeeded ( ``Connected to client``). The number in brackets ( +; ``[2693358]``) is the Process ID. +; +; It includes: +; +; [2693358] +; process ID in brackets +; +; 2020-09-02 07:19:09.616195 +; opening time +; +; For Step Debugging: +; +; INFO: Connecting to configured address/port: localhost:9003. +; ERR: Could not connect to debugging client. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port). +; +; For Profiling: +; +; ERR: File '/foo/cachegrind.out.2693358' could not be opened. +; WARN: /foo: No such file or directory +; +; For Function Trace: +; +; ERR: File '/foo/trace.1485761369' could not be opened. +; WARN: /foo: No such file or directory +; +; All warnings and errors are described on the Description of errors page, with +; detailed instructions on how to resolve the problem, if possible. All errors +; are always logged through PHP's internal logging mechanism (configured with +; error_log [1] in ``php.ini``). All warnings and errors also show up in the +; diagnostics log that you can view by calling xdebug_info(). +; +; [1] https://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log +; +; --------------------------- +; Step Debugger Communication +; --------------------------- +; +; The debugging log can also log the communication between Xdebug and an IDE. +; This communication is in XML, and starts with the ``<init`` XML element: +; +; <init +; xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" +; fileuri="file:///home/httpd/www.xdebug.org/html/router.php" +; language="PHP" xdebug:language_version="7.4.11-dev" +; protocol_version="1.0" appid="2693358" idekey="XDEBUG_ECLIPSE"> +; <engine version="3.0.0-dev"><![CDATA[Xdebug]]></engine> +; <author><![CDATA[Derick Rethans]]></author> +; <url><![CDATA[https://xdebug.org]]></url> +; <copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright> +; </init> +; +; The ``fileuri`` attribute lists the entry point of your application, which can +; be useful to compare to ``breakpoint_set`` commands to see if path mappings +; are set-up correctly. +; +; Beyond the ``<init`` element, you will find the configuration of features [1]: +; +; [1] /docs/dbgp#feature-names +; +; <- feature_set -i 4 -n extended_properties -v 1 +; -> <response +; xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" +; command="feature_set" transaction_id="4" feature="extended_properties" success="1"> +; </response> +; +; And continuation commands [1]: +; +; [1] /docs/dbgp#continuation-commands +; +; <- step_into -i 9 +; -> <response +; xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" +; command="step_into" transaction_id="9" +; status="break" reason="ok"> +; <xdebug:message filename="file:///home/httpd/www.xdebug.org/html/router.php" lineno="3"> +; </xdebug:message> +; </response> +; +; You can read about DBGP - A common debugger protocol specification at its +; dedicated documation page. +; +; The xdebug.log_level setting controls how much information is logged. +; +; .. warning:: +; +; Many Linux distributions now use systemd, which implements **private tmp** +; directories. This means that when PHP is run through a web server or as +; PHP-FPM, the ``/tmp`` directory is prefixed with something akin to: +; +; /tmp/systemd-private-ea3cfa882b4e478993e1994033fc5feb-apache.service-FfWZRg +; +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.log = + +; ----------------------------------------------------------------------------- +; xdebug.log_level +; +; Type: integer, Default value: 7 +; +; Configures which logging messages should be added to the log file. +; +; The log file is configured with the xdebug.log setting. +; +; The following levels are supported: +; +; ===== ============= ================================ +; Level Name Example +; ===== ============= ================================ +; 0 Criticals Errors in the configuration +; ----- ------------- -------------------------------- +; 1 Errors Connection errors +; ----- ------------- -------------------------------- +; 3 Warnings Connection warnings +; ----- ------------- -------------------------------- +; 5 Communication Protocol messages +; ----- ------------- -------------------------------- +; **7** Information Information while connecting +; ----- ------------- -------------------------------- +; 10 Debug Breakpoint resolving information +; ===== ============= ================================ +; +; Criticals, errors, and warnings always show up in the diagnostics log that you +; can view by calling xdebug_info(). +; +; Criticals and errors are additionally logged through PHP's internal logging +; mechanism (configured with error_log [1] in ``php.ini``). +; +; [1] https://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.log_level = 7 + +; ----------------------------------------------------------------------------- +; xdebug.max_nesting_level +; +; Type: integer, Default value: 512 +; +; 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. +; +; When the maximum nesting level is reached, an "Error [1]" exception is thrown. +; +; [1] https://www.php.net/manual/class.error.php +; +; Before Xdebug 3.3, the default value was ``256``. +; +; +;xdebug.max_nesting_level = 512 + +; ----------------------------------------------------------------------------- +; xdebug.max_stack_frames +; +; 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.mode +; +; Type: string, Default value: develop +; +; This setting controls which Xdebug features are enabled. +; +; .. note:: +; +; This setting can only be set in ``php.ini`` or files like ``99-xdebug.ini`` +; that are read when a PHP process starts (directly, or through php-fpm). You +; can not set this value in ``.htaccess`` and ``.user.ini`` files, which are +; read per-request, nor through ``php_admin_value`` as used in Apache VHOSTs +; and PHP-FPM pools. +; +; The following values are accepted: +; +; off +; Nothing is enabled. Xdebug does no work besides checking whether +; functionality is enabled. Use this setting if you want close to 0 +; overhead. +; +; develop +; Enables Development Helpers including the overloaded var_dump(). +; +; coverage +; Enables Code Coverage Analysis to generate code coverage reports, mainly +; in combination with +; +; PHPUnit [1]. +; +; debug +; Enables Step Debugging. This can be used to step through your code while +; it is running, and analyse values of variables. +; +; gcstats +; Enables Garbage Collection Statistics to collect statistics about PHP's +; Garbage Collection Mechanism. +; +; profile +; Enables Profiling, with which you can analyse performance bottlenecks with +; tools like +; +; KCacheGrind [2]. +; +; trace +; Enables the Function Trace feature, which allows you record every function +; call, including arguments, variable assignment, and return value that is +; made during a request to a file. +; +; You can enable multiple modes at the same time by comma separating their +; identifiers as value to xdebug.mode: ``xdebug.mode=develop,trace``. +; +; [1] https://phpunit.readthedocs.io/en/9.0/code-coverage-analysis.html +; [2] /docs/profiler#kcachegrind +; +; -------------------------------- +; XDEBUG_MODE environment variable +; -------------------------------- +; +; You can also set Xdebug's mode by setting the ``XDEBUG_MODE`` environment +; variable on the command-line; this will take precedence over the xdebug.mode +; setting, but will not change the value of the xdebug.mode setting. +; +; .. warning:: +; +; Some web servers have a configuration option to prevent environment +; variables from being propagated to PHP and Xdebug. For example, PHP-FPM has +; a ``clear_env`` [1] configuration setting that is ``on`` by default, which +; you will need to turn ``off`` if you want to use ``XDEBUG_MODE``. Make sure +; that your web server does not clean the environment, or specifically allows +; the ``XDEBUG_MODE`` environment variable to be passed on. [1] +; https://www.php.net/manual/en/install.fpm.configuration.php#clear-env +; +; +;xdebug.mode = develop + +; ----------------------------------------------------------------------------- +; xdebug.output_dir +; +; Type: string, Default value: /tmp +; +; The directory where Xdebug will write tracing, profiling, and garbage +; collection statistics to. This directory needs to be writable for the system +; user with which PHP is running. +; +; This setting can be changed in ``php.ini``, ``.htaccess`` (and equivalent +; files), and within a PHP file with ``ini_set()``. +; +; In some cases (when profiling, or when xdebug.start_with_request= ``yes`` with +; tracing), Xdebug creates the file before the script runs. In that case, +; changes made through ``ini_set()`` will not be taken into account. +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.output_dir = /tmp + +; ----------------------------------------------------------------------------- +; xdebug.profiler_append +; +; 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 (depending on the +; xdebug.profiler_output_name setting. Instead the file will be appended to with +; the new profile. +; +; +;xdebug.profiler_append = 0 + +; ----------------------------------------------------------------------------- +; xdebug.profiler_output_name +; +; Type: string, Default value: cachegrind.out.%p +; +; This setting determines the name of the file that is used to dump traces into. +; 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. +; +; .. note:: +; +; This setting can additionally be configured through the +; ``XDEBUG_CONFIG``environment variable [1]. [1] +; /docs/all_settings#XDEBUG_CONFIG +; +; +;xdebug.profiler_output_name = cachegrind.out.%p + +; ----------------------------------------------------------------------------- +; xdebug.scream +; +; Type: boolean, Default value: false +; +; 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 = false + +; ----------------------------------------------------------------------------- +; 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 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_local_vars +; +; Type: integer, Default value: 0 +; +; When this setting is set to something != 0 Xdebug's generated stack dumps in +; 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 + +; ----------------------------------------------------------------------------- +; xdebug.start_upon_error +; +; Type: string, Default value: default +; +; Step Debugging can be activated when a PHP Notice or Warning is emitted, or +; when a Throwable [1] (Exception/Error) is thrown, depending on the value of +; this setting: +; +; [1] https://www.php.net/manual/en/class.throwable.php +; +; yes +; Initialise a debugging session when a PHP Notice or Warning is emitted, or +; when a Throwable is thrown. +; +; no +; default +; Do not start a debugging session upon an error situation. +; +; +;xdebug.start_upon_error = default + +; ----------------------------------------------------------------------------- +; xdebug.start_with_request +; +; Type: string, Default value: default +; +; A Function Trace, Garbage Collection Statistics, Profiling, or Step Debugging +; can be activated at the start of a PHP request. Whether this happens depends +; on the value of this setting: +; +; yes +; The functionality starts when the PHP request starts, and before any PHP +; code is run. +; +; For example xdebug.mode= ``trace`` and xdebug.start_with_request= ``yes`` +; starts a Function Trace for the whole request. +; +; no +; The functionality does not get activated when the request starts. +; +; You can still start a Function Trace with xdebug_start_trace(), Step +; Debugging with xdebug_break(), or Garbage Collection Statistics with +; xdebug_start_gcstats(). +; +; The Profiling will never activate with this value. +; +; trigger +; The functionality only gets activated when a specific trigger is present +; when the request starts. +; +; The name of the trigger is ``XDEBUG_TRIGGER``, and Xdebug checks for its +; presence in either ``$_ENV`` (environment variable), ``$_GET`` or +; ``$_POST`` variable, or ``$_COOKIE`` (HTTP cookie name). +; +; There is a legacy fallback to a functionality specific trigger name: +; ``XDEBUG_PROFILE`` (for Profiling), ``XDEBUG_TRACE`` (for a Function +; Trace), and ``XDEBUG_SESSION`` (for Step Debugging). +; +; There is another legacy trigger for Step Debugging only. If you set the +; ``XDEBUG_CONFIG`` environment variable to any value, then the step +; debugger will also get activated. +; +; Debug session management for Step Debugging is also available through +; ``XDEBUG_SESSION_START``. +; +; With xdebug.trigger_value you can control which specific trigger value +; will activate the trigger. If xdebug.trigger_value is set to an empty +; string, **any** value will be accepted. +; +; default +; The ``default`` value depends on xdebug.mode: +; +; - **debug** : ``trigger`` +; +; - **gcstats** : ``no`` +; +; - **profile** : ``yes`` +; +; - **trace** : ``trigger`` +; +; +;xdebug.start_with_request = default + +; ----------------------------------------------------------------------------- +; 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*, *level*, *function name*, +; *function parameters*, *filename* and *line number*. +; ----- ------------------------------------------------------------------------------ +; 1 writes a computer readable format which has two different records. There are +; different records for entering a stack frame, and leaving a stack frame. The +; table below lists the fields in each type of record. Fields are tab separated. +; ----- ------------------------------------------------------------------------------ +; 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 11 12 - ... +; =========== ===== ========== ========== ========== ============ ============= ========================================= =================================== ======== =========== ================ ============================================================ +; Entry level function # always '0' time index memory usage function name user-defined (1) or internal function (0) name of the include or require file filename line number no. of arguments arguments (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 for Function Trace for a few examples. +; +; +;xdebug.trace_format = 0 + +; ----------------------------------------------------------------------------- +; xdebug.trace_options +; +; Type: integer, Default value: 0 +; +; This settings accepts a bitfield to enable options: +; +; 1 +; Trace file data will be appended to an already existing file with the same +; name, instead of it being overwritten. +; +; 2 +; Switches the file format to a tab separated format. The format is +; described in the xdebug.trace_format setting as "format 1". +; +; 4 +; Switches to a file format that shows data as an HTML table +; +; 8 +; With this bit set, +; +; ``.xt`` is not added automatically to the end of trace file names. +; +; To combine multiple flags, you can use bitwise-OR ( ``|``). +; +; ``xdebug.trace_options=2|8`` enables both the tab separated format, and stops +; the addition of ``.xt`` to the end of the file name. +; +; +;xdebug.trace_options = 0 + +; ----------------------------------------------------------------------------- +; xdebug.trace_output_name +; +; Type: string, Default value: trace.%c +; +; This setting determines the name of the file that is used to dump traces into. +; 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 +; ========= ====================================== ================= ==================================================== +; %c crc32 of the current working directory trace.%c trace.1258863198.xt +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %p pid trace.%p trace.5174.xt +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %r random number trace.%r trace.072db0.xt +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %s script name 2 cachegrind.out.%s cachegrind.out._home_httpd_html_test_xdebug_test_php +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %t timestamp (seconds) trace.%t trace.1179434742.xt +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %u timestamp (microseconds) trace.%u trace.1179434749_642382.xt +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %H $_SERVER['HTTP_HOST'] trace.%H trace.kossu.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 +; +; 3 +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %S session_id (from $_COOKIE if set) trace.%S trace.c70c1ec2375af58f74b390bbdd2a679d.xt +; --------- -------------------------------------- ----------------- ---------------------------------------------------- +; %% literal % trace.%% trace.%%.xt +; ========= ====================================== ================= ==================================================== +; +; 2 This one is only available for trace file names since Xdebug 2.6. +; +; 3 New in version 2.2. This one is set by Apache's mod_unique_id module [1] +; +; [1] http://httpd.apache.org/docs/current/mod/mod_unique_id.html +; +; +;xdebug.trace_output_name = trace.%c + +; ----------------------------------------------------------------------------- +; xdebug.trigger_value +; +; Type: string, Default value: "" +; +; This setting can be used when xdebug.start_with_request is set to ``trigger``, +; which is the default for Step Debugging and Function Trace. +; +; In ``trigger`` mode, Xdebug will only start its functionality when the +; ``XDEBUG_TRIGGER`` is set in the environment, or when the ``XDEBUG_TRIGGER`` +; GET, POST, or COOKIE variable is set. +; +; The legacy names ``XDEBUG_SESSION`` (for Step Debugging), ``XDEBUG_PROFILE`` +; (for Profiling), and ``XDEBUG_TRACE`` (for Function Trace) can also be used +; instead of ``XDEBUG_TRIGGER``. +; +; Normally, Xdebug does not look at which value is actually used. If this +; setting is set to a non-empty string, then Xdebug will only trigger if the +; value matches the value of this setting. +; +; With the following settings: +; +; xdebug.mode=profile +; xdebug.start_with_request=trigger +; xdebug.trigger_value=StartProfileForMe +; +; Xdebug's profiler will only start when either the environment variable +; ``XDEBUG_TRIGGER`` is set to ``StartProfileForMe``, the GET or POST variable +; ``XDEBUG_TRIGGER`` is set to ``StartProfileForMe``, or when the cookie +; ``XDEBUG_TRIGGER`` has the value ``StartProfileForMe``. +; +; From Xdebug 3.1, it is possible to configure multiple values by using a comma +; separated list. In that case, Xdebug will trigger if the supplied value +; matches any of the entries that are configured through this setting: +; +; xdebug.trigger_value=StartDebuggerForMe,StartDebuggerForYou +; +; See also: +; +; xdebug.start_with_request#trigger +; For how the triggering mechanism works, and which environment and server +; variables Xdebug acts on. +; +; +;xdebug.trigger_value = "" + +; ----------------------------------------------------------------------------- +; xdebug.use_compression +; +; Introduced in version 3.1 +; +; Type: boolean, Default value: true +; +; If enabled, the Function Trace and Profiling features will create GZip +; compressed files as output. This reduces diskspace. +; +; If GZip compression is not supported by Xdebug, because it was not compiled +; in, then Xdebug will add a warning to its log and xdebug_info() diagnostics +; section. +; +; It is enabled by default if Xdebug has GZip support, and disable if Xdebug +; does not have GZip support. +; +; The QCacheGrind tool that you can use to visualise profiling information does +; not support reading GZip compressed profile files, whereas KCacheGrind and +; PhpStorm do. If you are a QCacheGrind user, you should set +; xdebug.use_compression to ``false``. +; +; +;xdebug.use_compression = true + +; ----------------------------------------------------------------------------- +; xdebug.var_display_max_children +; +; Type: integer, Default value: 128 +; +; 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 when making a Function Trace. +; +; 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 Step Debugging feature. +; +; +;xdebug.var_display_max_children = 128 + +; ----------------------------------------------------------------------------- +; xdebug.var_display_max_data +; +; Type: integer, Default value: 512 +; +; Controls the maximum string length that is shown when variables are displayed +; with either xdebug_var_dump(), xdebug.show_local_vars or when making a +; Function Trace. +; +; 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 Step Debugging feature. +; +; +;xdebug.var_display_max_data = 512 + +; ----------------------------------------------------------------------------- +; xdebug.var_display_max_depth +; +; Type: integer, Default value: 3 +; +; 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 when making a Function Trace. +; +; 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 Step Debugging feature. +; +; .. warning:: +; +; Setting the value to a high number could potentially result in PHP using up +; all the available memory, so use with caution. +; +; +;xdebug.var_display_max_depth = 3 + |