Profiling is enabled by setting xdebug.mode to profile. This instructs Xdebug to start writing profiling information into the dump directory configured with the xdebug.outputdir directive. The name of the generated file always starts with ' cachegrind.out. ' and ends with either the PID (process ID) of the PHP (or Apache) process or the crc32. Profile View Creator Ajor BIM (5 reviews) Free. Language: English. Creates multiple profile views quickly for multiple alignments. In addition to the usual options for creating profile views, this app can include network parts in the created profile views based on their horizontal distance to the selected alignments.
action
— Control options for Profiler
on
| off
| resume
| clear
| viewer
| info
| status
Control options for the Profiler specified as one of these options.
Option | Result |
---|---|
on | Start the Profiler, clearing any previously recordedprofile statistics. |
off | Stop the Profiler. |
resume | Restart the Profiler without clearing previously recordedstatistics. |
clear | Stop the Profiler and clear the recorded statistics. |
| Stop the Profiler and display the results in the Profiler window. For more information, see Profile Your Code to Improve Performance. The Profiler user interface is not supported in MATLAB Online™. |
info | Stop the Profiler and return a structure containing theresults. |
status | Return a structure with the Profiler status information. |
- WHAT IS Insta STALKER – Private Profile Stories viewer? Instagram Stalker is a person who likes to see photos, videos, and other content of someone on instagram account. They can track your posts without following you. If you're famous on the Social Network, there is a high chance that someone will stalk you. With this, you can find the.
- Criminal Profiling Part 1 of 7 Loading. Serialkillerpart01.pdf — PDF document, 2,116 kB (2,166,796 bytes) Twitter; Facebook; Share Vault Links: FOIA Home.
option1 .. optionN
— One or more profiling options
character vectors
One or more profiling options, specified as character vectorscorresponding to valid settings from the history and clock optiontables. You can specify one or more of these options with one of thefollowing syntaxes:
profile on option1 .. optionN
profile resume option1 .. optionN
profile option1 .. optionN
If you change the Profiler settings, the settings persist when you stop the Profiler or clear the statistics. To revert to default Profiler behavior, manually set the options to the default values or start a new MATLAB session.
History Options
Option | Result |
---|---|
-nohistory | Record basic profiling statistics. |
-history | Record basic profiling statistics, as well as the exact sequence of function calls, including function entry and exit events. |
-timestamp | Default value. Record basic profiling statistics, as well as the exact sequence of function calls including entry and exit events, and the timestamp for each event. |
-historysize | Specify the number of function entry and exit events to record. By default, |
Clock Options
Option | Result |
---|---|
-timer 'performance' | Default value. Use wall-clock time from the clock that the operating system supplies to measure performance. |
-timer 'processor' | Use the wall-clock time directly from the processor.Sometimes your power savings settings or use of multiple processorsinfluence this measurement. |
-timer 'real' | Use system time reported by the operating system. Thisoption is the most computationally expensive measurement and has themost impact on the performance of profiled code. Changing the timeon the operating system clock influences this measurement. |
-timer 'cpu' | Use computer time and sums time across all threads. This measurement is different from wall-clock time. For example, the computer time for the |
Xdebug's built-in profiler allows you to find bottlenecks in your script and visualize those with an external tool such as KCacheGrind or WinCacheGrind.
Introduction #
Xdebug's Profiler is a powerful tool that gives you the ability to analyseyour PHP code and determine bottlenecks or generally see which parts of yourcode are slow and could use a speed boost. Since Xdebug 2.6, the profiler alsocollects information about how much memory is being used, and which functionsand methods increase memory usage.
The profiler in Xdebug outputsprofiling information in the form of a Cachegrind compatible file. This allowsyou to use the excellent KCacheGrindtool (Linux, KDE) to analyse your profiling data. If you are on Linuxyou can install KCacheGrind with your favourite package manager.
If you are on Windows, there are precompiled QCacheGrindbinaries available. (QCacheGrind is KCacheGrind without KDE bindings).
If you are on Mac OSX, there are instructionson how to build QCacheGrind too.
Users of Windows can alternatively useWinCacheGrind. Thefunctionality is different from KCacheGrind so the section that documents theuse of KCacheGrind on this page doesn't apply to this program. WinCacheGrindcurrently does not support the file and function compression for cachegrindfiles that Xdebug 2.3 introduces yet.
There is alsoan alternative profile information presentation tool calledxdebugtoolkit, a webbased front-end called Webgrind, and a Java based toolcalled XCallGraph.
In case you can not use KDE (or do not want to use KDE) the kcachegrindpackage also comes with a perl script 'ct_annotate' which produces ASCII outputfrom the profiler trace files.
Starting The Profiler #
Profiling is enabled by setting xdebug.mode to profile
. Thisinstructs Xdebug to start writing profiling information into the dump directoryconfigured with thexdebug.output_dirdirective. The name of the generated file always starts with'cachegrind.out.' and ends with either the PID(process ID) of the PHP (or Apache) process or the crc32 hash of thedirectory containing the initially debugged script. Make sure you have enoughspace in your xdebug.output_dir as the amount of information generated by the profiler can beenormous for complex scripts, for example up to 500MB for a complex applicationlike eZ Publish.
You can also selectively enable the profiler by settingxdebug.start_with_request#trigger to trigger
. You can then enablethe profiler by using an environment value, a GET/POST parameter, or COOKIEvariable of the name XDEBUG_SESSION
. The FireFox and Chromeextensions that can be used to enable the step debugger (seeHTTP Debug Sessions) can also be usedwith this setting.
From Xdebug 2.6 onwards, Xdebug adds the HTTP headerX-Xdebug-Profile-Filename
to a request that is being profiled.This header contains the name of the file that holds the profiling informationfor that request.
Analysing Profiles #
After a profile information file has been generated you can open it withKCacheGrind:
Once the file is opened you have plenty of information available in thedifferent panes of KCacheGrind. On the left side you find the 'Flat Profile'pane showing all functions in your script sorted by time spent in this function,and all its children.The second column 'Self' shows the time spent in this function (without itschildren), the third column 'Called' shows how often a specific function wascalled and the last column 'Function' shows the name of the function. Xdebugchanges internal PHP function names by prefixing the function name with'php::' and include files are handled in a special way too. Calls to include(and include_once, require and require_once) are followed by '::' and thefilename of the included file. In the screenshot on the left you can see thisfor 'include::/home/httpd/ez_34/v..' and an example of an internal PHPfunction is 'php::mysql_query'.The numbers in the first two columns can beeither percentages of the full running time of the script (like in theexample) or absolute time (1 unit is 1/1.000.000th of a second). You canswitch between the two modes with the button you see on the right.
The pane on the right contains an upper and lower pane. The upper oneshows information about which functions called the current selected function('eztemplatedesignresource->executecompiledtemplate in the screenshot).The lower pane shows information about the functions that the current selectedfunction called.
The 'Cost' column in the upper pane shows the time spent in the currentselected function while being called from the function in the list. The numbersin the Cost column added up will always be 100%. The 'Cost' column in the lowerpane shows the time spent while calling the function from the list. While addingthe numbers in this list up, you will most likely never reach 100% as theselected function itself will also takes time to execute.
The 'All Callers' and 'All Calls' tabs show not only the direct calls fromwhich the function was called respectively all directly madefunction calls but also function calls made more levels up and down.The upper pane in the screenshot on the left shows all functions calling thecurrent selected one, both directly and indirectly with other functionsinbetween them on the stack. The 'Distance' column shows how many functioncalls are between the listed and the current selected one (-1). If there aredifferent distances between two functions, it is shown as a range (for example'5-24'). The number in parentheses is the median distance. The lower pane issimilar except that it shows information on functions called from the currentselected one, again either direct or indirect.
Related Settings and Functions
- stringxdebug.log =
- integerxdebug.log_level = 7
- stringxdebug.mode = develop
- stringxdebug.output_dir = /tmp
- integerxdebug.profiler_append = 0
- stringxdebug.profiler_output_name = cachegrind.out.%p
- stringxdebug.start_with_request = default
- stringxdebug.trigger_value = '
- xdebug_get_profiler_filename() : mixed
- xdebug_info() : void
Settings
string xdebug.log = #
Configures Xdebug's log file.
Xdebug will log to this file all file creations issues, Step Debuggingconnection attempts, failures, and debug communication.
Enable this functionality by setting the value to a absolute path. Make surethat the system user that PHP runs at (such as www-data
if you arerunning 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 concurrencyprotection available.
The log file will include any attempt that Xdebugmakes to connect to an IDE:
It includes the opening time (2020-09-02 07:19:09.616195
), theIP/Hostname and port Xdebug is trying to connect to(localhost:9003
), and whether it succeeded (Connected toclient :-)
). The number in brackets ([2693358]
) is theProcess ID.
It includes:
[2693358]
- process ID in brackets
2020-09-02 07:19:09.616195
- opening time
For Step Debugging:
For Profiling:
For Function Trace:
All warnings and errors are described on the Description of errors page, withdetailed instructions on how to resolve the problem, if possible. All errors are always logged throughPHP's internal logging mechanism (configured with error_login php.ini
). All warnings and errors also show up in thediagnostics log that you can view by calling xdebug_info().
Step Debugger Communication
Squeeze. The debugging log can also log the communication between Xdebug and an IDE.This communication is in XML, and starts with the XMLelement:
The
fileuri
attribute lists the entry point of yourapplication, which can be useful to compare to breakpoint_set
commands to see if path mappings are set-up correctly.
Beyond the
element, you will find the configuration offeatures:
And continuation commands:
You can read about DBGP - A common debugger protocol specification at its dedicated documation page.
The xdebug.log_level setting controls how much information islogged.
Note: Many Linux distributions now use systemd, whichimplements private tmp directories. This means that when PHPis run through a web server or as PHP-FPM, the
/tmp
directory isprefixed with something akin to:
Vinoteka TOUCH 4. Entirely redesigned with love - New design to support Dark Mode. Optimized for all iPhone/iPad running on iOS 13/14. Entirely redesigned to focus on what really matters, your bottles - Global Search in the WinePlace and in your own collection. Vinoteka. Nestled in the city of Dellwood, MN just 20 miles northeast of the Twin Cities, 7 Vines is a true destination. Acres of rolling vines and a state of the art winery welcome you to explore the grape to wine process and savor hand crafted wines with midwest charm. Vinoteka Touch is a unique application: state-of-art stand-alone app to manage wine references, bottles and virtually recreate your cellar/fridge. San Francisco's beating heart of Italian wine since 2006. From the classic & iconic, to cult, low intervention, natural, organic & off-the-beaten-path gems. Check out our tasting events and wine club. Same day delivery in San Francisco, as well as shipping options available. Send wine as a gift for Father's Day.
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
integer xdebug.log_level = 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 thediagnostics log that you can view by calling xdebug_info().
Criticals and errors are additionally logged throughPHP's internal logging mechanism (configured with error_login php.ini
).
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
string xdebug.mode = develop#
This setting controls which Xdebug features are enabled.
This setting can only be set in php.ini
orfiles like 99-xdebug.ini
that are read when a PHP process starts(directly, or through php-fpm), but not in .htaccess
and.user.ini
files, which are read per-request.
The following values are accepted:
off
- Nothing is enabled. Xdebug does no work besides checking whetherfunctionality is enabled. Use this setting if you want close to 0overhead.
develop
- Enables Development Aids including the overloaded var_dump().
coverage
- Enables Code Coverage Analysis to generate code coverage reports, mainly incombination withPHPUnit.
debug
- Enables Step Debugging. This can be used to step through your code while itis running, and analyse values of variables.
gcstats
- Enables Garbage Collection Statistics to collect statistics about PHP's GarbageCollection Mechanism.
profile
- Enables Profiling, with which you can analyse performance bottleneckswith tools like KCacheGrind.
trace
- Enables the Function Trace feature, which allows you record every functioncall, including arguments, variable assignment, and return value that is madeduring a request to a file.
You can enable multiple modes at the same time by comma separating theiridentifiers as value to xdebug.mode: xdebug.mode=develop,trace
.
You can also set the mode by setting the XDEBUG_MODE
environmentvariable on the command-line; this will take precedence over the xdebug.mode setting, but will no change the value of the xdebug.mode setting.
string xdebug.output_dir = /tmp#
The directory where Xdebug will write tracing, profiling, and garbagecollection statistics to. This directory needs to be writable for the systemuser 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 whenxdebug.start_with_request=yes
with tracing), Xdebugcreates the file before the script runs. In that case, changes made throughini_set()
will not be taken into account.
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
integer xdebug.profiler_append = 0#
When this setting is set to 1, profiler files will not be overwritten whena 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.
string xdebug.profiler_output_name = cachegrind.out.%p#
This setting determines the name of the file that is used to dumptraces into. The setting specifies the format with format specifiers, verysimilar to sprintf() and strftime(). There are several format specifiersthat can be used to format the file name.
See the xdebug.trace_output_name documentation for the supportedspecifiers.
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
string xdebug.start_with_request = default#
A Function Trace, Garbage Collection Statistics, Profiling, or Step Debuggingcan be activated at the start of a PHP request. Whether this happens depends onthe value of this setting:
yes
The functionality starts when the PHP request starts, and before any PHPcode is run.
For example xdebug.mode=trace
andxdebug.start_with_request=yes
starts a Function Trace for thewhole 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().
trigger
The functionality only gets activated when a specific trigger is presentwhen the request starts.
The name of the trigger is XDEBUG_TRIGGER
, and Xdebug checksfor its presence in either $_ENV
(environment variable),$_GET
or $_POST
variable, or $_COOKIE
(HTTP cookie name).
There is also a legacy fallback to a functionality specific trigger name:XDEBUG_PROFILE
(for Profiling), XDEBUG_TRACE
(for a Function Trace), and XDEBUG_SESSION
(forStep Debugging).
Debug session management for Step Debugging is alsoavailable through XDEBUG_SESSION_START
.
With xdebug.trigger_value you can control which specific trigger value willactivate the trigger. If xdebug.trigger_value is set to an emptystring, any value will be accepted.
default
The default
value depends on xdebug.mode:
- debug:
trigger
- gcstats:
no
- profile:
yes
- trace:
trigger
string xdebug.trigger_value = '#
This setting can be used when xdebug.start_with_request is set totrigger
, which is the default for Step Debugging and Function Trace.
In trigger
mode, Xdebug will only start itsfunctionality when the XDEBUG_TRIGGER
is set in the environment,or when the XDEBUG_TRIGGER
GET, POST, or COOKIE variable isset.
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 thissetting is set to a non-empty string, then Xdebug will only trigger if thevalue matches the value of this setting.
With the following settings:
Xdebug's profiler will only start when either the environment variableXDEBUG_TRIGGER
is set to StartProfileForMe
, the GETor POST variable XDEBUG_TRIGGER
is set toStartProfileForMe
, or when the cookie XDEBUG_TRIGGER
has the value StartProfileForMe
.
See also:
- xdebug.start_with_request#trigger
- For how the triggering mechanism works, and which environment and server variables Xdebug acts on.
- WHAT IS Insta STALKER – Private Profile Stories viewer? Instagram Stalker is a person who likes to see photos, videos, and other content of someone on instagram account. They can track your posts without following you. If you're famous on the Social Network, there is a high chance that someone will stalk you. With this, you can find the.
- Criminal Profiling Part 1 of 7 Loading. Serialkillerpart01.pdf — PDF document, 2,116 kB (2,166,796 bytes) Twitter; Facebook; Share Vault Links: FOIA Home.
option1 .. optionN
— One or more profiling options
character vectors
One or more profiling options, specified as character vectorscorresponding to valid settings from the history and clock optiontables. You can specify one or more of these options with one of thefollowing syntaxes:
profile on option1 .. optionN
profile resume option1 .. optionN
profile option1 .. optionN
If you change the Profiler settings, the settings persist when you stop the Profiler or clear the statistics. To revert to default Profiler behavior, manually set the options to the default values or start a new MATLAB session.
History Options
Option | Result |
---|---|
-nohistory | Record basic profiling statistics. |
-history | Record basic profiling statistics, as well as the exact sequence of function calls, including function entry and exit events. |
-timestamp | Default value. Record basic profiling statistics, as well as the exact sequence of function calls including entry and exit events, and the timestamp for each event. |
-historysize | Specify the number of function entry and exit events to record. By default, |
Clock Options
Option | Result |
---|---|
-timer 'performance' | Default value. Use wall-clock time from the clock that the operating system supplies to measure performance. |
-timer 'processor' | Use the wall-clock time directly from the processor.Sometimes your power savings settings or use of multiple processorsinfluence this measurement. |
-timer 'real' | Use system time reported by the operating system. Thisoption is the most computationally expensive measurement and has themost impact on the performance of profiled code. Changing the timeon the operating system clock influences this measurement. |
-timer 'cpu' | Use computer time and sums time across all threads. This measurement is different from wall-clock time. For example, the computer time for the |
Xdebug's built-in profiler allows you to find bottlenecks in your script and visualize those with an external tool such as KCacheGrind or WinCacheGrind.
Introduction #
Xdebug's Profiler is a powerful tool that gives you the ability to analyseyour PHP code and determine bottlenecks or generally see which parts of yourcode are slow and could use a speed boost. Since Xdebug 2.6, the profiler alsocollects information about how much memory is being used, and which functionsand methods increase memory usage.
The profiler in Xdebug outputsprofiling information in the form of a Cachegrind compatible file. This allowsyou to use the excellent KCacheGrindtool (Linux, KDE) to analyse your profiling data. If you are on Linuxyou can install KCacheGrind with your favourite package manager.
If you are on Windows, there are precompiled QCacheGrindbinaries available. (QCacheGrind is KCacheGrind without KDE bindings).
If you are on Mac OSX, there are instructionson how to build QCacheGrind too.
Users of Windows can alternatively useWinCacheGrind. Thefunctionality is different from KCacheGrind so the section that documents theuse of KCacheGrind on this page doesn't apply to this program. WinCacheGrindcurrently does not support the file and function compression for cachegrindfiles that Xdebug 2.3 introduces yet.
There is alsoan alternative profile information presentation tool calledxdebugtoolkit, a webbased front-end called Webgrind, and a Java based toolcalled XCallGraph.
In case you can not use KDE (or do not want to use KDE) the kcachegrindpackage also comes with a perl script 'ct_annotate' which produces ASCII outputfrom the profiler trace files.
Starting The Profiler #
Profiling is enabled by setting xdebug.mode to profile
. Thisinstructs Xdebug to start writing profiling information into the dump directoryconfigured with thexdebug.output_dirdirective. The name of the generated file always starts with'cachegrind.out.' and ends with either the PID(process ID) of the PHP (or Apache) process or the crc32 hash of thedirectory containing the initially debugged script. Make sure you have enoughspace in your xdebug.output_dir as the amount of information generated by the profiler can beenormous for complex scripts, for example up to 500MB for a complex applicationlike eZ Publish.
You can also selectively enable the profiler by settingxdebug.start_with_request#trigger to trigger
. You can then enablethe profiler by using an environment value, a GET/POST parameter, or COOKIEvariable of the name XDEBUG_SESSION
. The FireFox and Chromeextensions that can be used to enable the step debugger (seeHTTP Debug Sessions) can also be usedwith this setting.
From Xdebug 2.6 onwards, Xdebug adds the HTTP headerX-Xdebug-Profile-Filename
to a request that is being profiled.This header contains the name of the file that holds the profiling informationfor that request.
Analysing Profiles #
After a profile information file has been generated you can open it withKCacheGrind:
Once the file is opened you have plenty of information available in thedifferent panes of KCacheGrind. On the left side you find the 'Flat Profile'pane showing all functions in your script sorted by time spent in this function,and all its children.The second column 'Self' shows the time spent in this function (without itschildren), the third column 'Called' shows how often a specific function wascalled and the last column 'Function' shows the name of the function. Xdebugchanges internal PHP function names by prefixing the function name with'php::' and include files are handled in a special way too. Calls to include(and include_once, require and require_once) are followed by '::' and thefilename of the included file. In the screenshot on the left you can see thisfor 'include::/home/httpd/ez_34/v..' and an example of an internal PHPfunction is 'php::mysql_query'.The numbers in the first two columns can beeither percentages of the full running time of the script (like in theexample) or absolute time (1 unit is 1/1.000.000th of a second). You canswitch between the two modes with the button you see on the right.
The pane on the right contains an upper and lower pane. The upper oneshows information about which functions called the current selected function('eztemplatedesignresource->executecompiledtemplate in the screenshot).The lower pane shows information about the functions that the current selectedfunction called.
The 'Cost' column in the upper pane shows the time spent in the currentselected function while being called from the function in the list. The numbersin the Cost column added up will always be 100%. The 'Cost' column in the lowerpane shows the time spent while calling the function from the list. While addingthe numbers in this list up, you will most likely never reach 100% as theselected function itself will also takes time to execute.
The 'All Callers' and 'All Calls' tabs show not only the direct calls fromwhich the function was called respectively all directly madefunction calls but also function calls made more levels up and down.The upper pane in the screenshot on the left shows all functions calling thecurrent selected one, both directly and indirectly with other functionsinbetween them on the stack. The 'Distance' column shows how many functioncalls are between the listed and the current selected one (-1). If there aredifferent distances between two functions, it is shown as a range (for example'5-24'). The number in parentheses is the median distance. The lower pane issimilar except that it shows information on functions called from the currentselected one, again either direct or indirect.
Related Settings and Functions
- stringxdebug.log =
- integerxdebug.log_level = 7
- stringxdebug.mode = develop
- stringxdebug.output_dir = /tmp
- integerxdebug.profiler_append = 0
- stringxdebug.profiler_output_name = cachegrind.out.%p
- stringxdebug.start_with_request = default
- stringxdebug.trigger_value = '
- xdebug_get_profiler_filename() : mixed
- xdebug_info() : void
Settings
string xdebug.log = #
Configures Xdebug's log file.
Xdebug will log to this file all file creations issues, Step Debuggingconnection attempts, failures, and debug communication.
Enable this functionality by setting the value to a absolute path. Make surethat the system user that PHP runs at (such as www-data
if you arerunning 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 concurrencyprotection available.
The log file will include any attempt that Xdebugmakes to connect to an IDE:
It includes the opening time (2020-09-02 07:19:09.616195
), theIP/Hostname and port Xdebug is trying to connect to(localhost:9003
), and whether it succeeded (Connected toclient :-)
). The number in brackets ([2693358]
) is theProcess ID.
It includes:
[2693358]
- process ID in brackets
2020-09-02 07:19:09.616195
- opening time
For Step Debugging:
For Profiling:
For Function Trace:
All warnings and errors are described on the Description of errors page, withdetailed instructions on how to resolve the problem, if possible. All errors are always logged throughPHP's internal logging mechanism (configured with error_login php.ini
). All warnings and errors also show up in thediagnostics log that you can view by calling xdebug_info().
Step Debugger Communication
Squeeze. The debugging log can also log the communication between Xdebug and an IDE.This communication is in XML, and starts with the XMLelement:
The
fileuri
attribute lists the entry point of yourapplication, which can be useful to compare to breakpoint_set
commands to see if path mappings are set-up correctly.
Beyond the
element, you will find the configuration offeatures:
And continuation commands:
You can read about DBGP - A common debugger protocol specification at its dedicated documation page.
The xdebug.log_level setting controls how much information islogged.
Note: Many Linux distributions now use systemd, whichimplements private tmp directories. This means that when PHPis run through a web server or as PHP-FPM, the
/tmp
directory isprefixed with something akin to:
Vinoteka TOUCH 4. Entirely redesigned with love - New design to support Dark Mode. Optimized for all iPhone/iPad running on iOS 13/14. Entirely redesigned to focus on what really matters, your bottles - Global Search in the WinePlace and in your own collection. Vinoteka. Nestled in the city of Dellwood, MN just 20 miles northeast of the Twin Cities, 7 Vines is a true destination. Acres of rolling vines and a state of the art winery welcome you to explore the grape to wine process and savor hand crafted wines with midwest charm. Vinoteka Touch is a unique application: state-of-art stand-alone app to manage wine references, bottles and virtually recreate your cellar/fridge. San Francisco's beating heart of Italian wine since 2006. From the classic & iconic, to cult, low intervention, natural, organic & off-the-beaten-path gems. Check out our tasting events and wine club. Same day delivery in San Francisco, as well as shipping options available. Send wine as a gift for Father's Day.
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
integer xdebug.log_level = 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 thediagnostics log that you can view by calling xdebug_info().
Criticals and errors are additionally logged throughPHP's internal logging mechanism (configured with error_login php.ini
).
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
string xdebug.mode = develop#
This setting controls which Xdebug features are enabled.
This setting can only be set in php.ini
orfiles like 99-xdebug.ini
that are read when a PHP process starts(directly, or through php-fpm), but not in .htaccess
and.user.ini
files, which are read per-request.
The following values are accepted:
off
- Nothing is enabled. Xdebug does no work besides checking whetherfunctionality is enabled. Use this setting if you want close to 0overhead.
develop
- Enables Development Aids including the overloaded var_dump().
coverage
- Enables Code Coverage Analysis to generate code coverage reports, mainly incombination withPHPUnit.
debug
- Enables Step Debugging. This can be used to step through your code while itis running, and analyse values of variables.
gcstats
- Enables Garbage Collection Statistics to collect statistics about PHP's GarbageCollection Mechanism.
profile
- Enables Profiling, with which you can analyse performance bottleneckswith tools like KCacheGrind.
trace
- Enables the Function Trace feature, which allows you record every functioncall, including arguments, variable assignment, and return value that is madeduring a request to a file.
You can enable multiple modes at the same time by comma separating theiridentifiers as value to xdebug.mode: xdebug.mode=develop,trace
.
You can also set the mode by setting the XDEBUG_MODE
environmentvariable on the command-line; this will take precedence over the xdebug.mode setting, but will no change the value of the xdebug.mode setting.
string xdebug.output_dir = /tmp#
The directory where Xdebug will write tracing, profiling, and garbagecollection statistics to. This directory needs to be writable for the systemuser 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 whenxdebug.start_with_request=yes
with tracing), Xdebugcreates the file before the script runs. In that case, changes made throughini_set()
will not be taken into account.
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
integer xdebug.profiler_append = 0#
When this setting is set to 1, profiler files will not be overwritten whena 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.
string xdebug.profiler_output_name = cachegrind.out.%p#
This setting determines the name of the file that is used to dumptraces into. The setting specifies the format with format specifiers, verysimilar to sprintf() and strftime(). There are several format specifiersthat can be used to format the file name.
See the xdebug.trace_output_name documentation for the supportedspecifiers.
This setting can additionally be configured through theXDEBUG_CONFIG
environment variable.
string xdebug.start_with_request = default#
A Function Trace, Garbage Collection Statistics, Profiling, or Step Debuggingcan be activated at the start of a PHP request. Whether this happens depends onthe value of this setting:
yes
The functionality starts when the PHP request starts, and before any PHPcode is run.
For example xdebug.mode=trace
andxdebug.start_with_request=yes
starts a Function Trace for thewhole 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().
trigger
The functionality only gets activated when a specific trigger is presentwhen the request starts.
The name of the trigger is XDEBUG_TRIGGER
, and Xdebug checksfor its presence in either $_ENV
(environment variable),$_GET
or $_POST
variable, or $_COOKIE
(HTTP cookie name).
There is also a legacy fallback to a functionality specific trigger name:XDEBUG_PROFILE
(for Profiling), XDEBUG_TRACE
(for a Function Trace), and XDEBUG_SESSION
(forStep Debugging).
Debug session management for Step Debugging is alsoavailable through XDEBUG_SESSION_START
.
With xdebug.trigger_value you can control which specific trigger value willactivate the trigger. If xdebug.trigger_value is set to an emptystring, any value will be accepted.
default
The default
value depends on xdebug.mode:
- debug:
trigger
- gcstats:
no
- profile:
yes
- trace:
trigger
string xdebug.trigger_value = '#
This setting can be used when xdebug.start_with_request is set totrigger
, which is the default for Step Debugging and Function Trace.
In trigger
mode, Xdebug will only start itsfunctionality when the XDEBUG_TRIGGER
is set in the environment,or when the XDEBUG_TRIGGER
GET, POST, or COOKIE variable isset.
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 thissetting is set to a non-empty string, then Xdebug will only trigger if thevalue matches the value of this setting.
With the following settings:
Xdebug's profiler will only start when either the environment variableXDEBUG_TRIGGER
is set to StartProfileForMe
, the GETor POST variable XDEBUG_TRIGGER
is set toStartProfileForMe
, or when the cookie XDEBUG_TRIGGER
has the value StartProfileForMe
.
See also:
- xdebug.start_with_request#trigger
- For how the triggering mechanism works, and which environment and server variables Xdebug acts on.
Functions
xdebug_get_profiler_filename() : mixed#
Returns the name of the file which is used to save profile information to, or false
if the profiler is not active.
xdebug_info() : void#
This function returns an HTML page which shows diagnostic information. It is analogous to PHP's phpinfo() function.
The HTML output includes which mode is active, what the settings are, and diagnostic information in case there are problems with debugging connections, opening of files, etc.
Facebook View Public Profile
Each warning and error in the diagnostics log also links through to the Description of errors documentation page.