summaryrefslogtreecommitdiffstats
path: root/xdebug.ini
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2024-10-04 17:28:19 +0200
committerRemi Collet <remi@php.net>2024-10-04 17:28:19 +0200
commitc74ac329206e21a089e3e7d68982b8def14bc24b (patch)
tree2c0358859ac6db207c97177d98f706c4aaadc6ba /xdebug.ini
parent151f81e119e213567cc7e681328dea8968f8e913 (diff)
update to 3.4.0beta1HEADmaster
Diffstat (limited to 'xdebug.ini')
-rw-r--r--xdebug.ini1275
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
+