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.
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:
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.
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.