Troubleshooting xdebug profiler
Thursday, May 28th, 2015 | Tech
Xdebug can be used to profile your PHP applications. However, it can be difficult to configure and get working. There are a number of gotchas to look out for.
Enabling
To enable the profiler on every request you can use the setting:
xdebug.profiler_enable = 1
If you want to just enable it for certain requests you can use:
xdebug.profiler_enable_trigger_value
This will allow you to use ?XDEBUG_PROFILE=1 in your query string. However, if you are using mod_rewrite to rewrite your URLs in Apache, you need to make sure the rule has the [QSA] flag in it to pass the query string through or this will not work.
Output direcotry
You can set the output directory to whatever directory you wish using the output dir setting:
xdebug.profiler_output_dir = '/tmp/xdebug'
However, xdebug will not create this directory for you. You need to manually create the directory and give write permissions to the web server too.
Xdebug can be used to profile your PHP applications. However, it can be difficult to configure and get working. There are a number of gotchas to look out for.
Enabling
To enable the profiler on every request you can use the setting:
xdebug.profiler_enable = 1
If you want to just enable it for certain requests you can use:
xdebug.profiler_enable_trigger_value
This will allow you to use ?XDEBUG_PROFILE=1 in your query string. However, if you are using mod_rewrite to rewrite your URLs in Apache, you need to make sure the rule has the [QSA] flag in it to pass the query string through or this will not work.
Output direcotry
You can set the output directory to whatever directory you wish using the output dir setting:
xdebug.profiler_output_dir = '/tmp/xdebug'
However, xdebug will not create this directory for you. You need to manually create the directory and give write permissions to the web server too.