How can I configure XDebug to profile ALL requests, POST, GET, Ajax, with and without query string parameters?
The current configuration (below) is only creating profile (cachegrind.out) files for GET requests and POST requests that don't have query string parameters.
/etc/php5/apache2/conf.d/20-xdebug.ini
zend_extension = /usr/lib/php5/20121212/xdebug.so
xdebug.profiler_enable_trigger = 1
xdebug.profiler_enable = 0
xdebug.profiler_append = 0
conf.d/my.conf
<Directory "/var/www/html/sub">
# Limit profiling to files in this directory
RewriteEngine On
RewriteRule (.*\.php) $1?XDEBUG_PROFILE=1 [QSA,L]
</Directory>
Ubuntu 14.04.5 LTS
PHP Version 5.5.9-1ubuntu4.21
XDebug version 2.5.1
The source of the problem was that the profile file for the POST request was being overwritten by the next request which was a client side redirect. The solution was to use a different profiler output filename
Ref: https://bugs.xdebug.org/view.php?id=1445
xdebug.profiler_output_name=cachegrind.out.%s
Many thanks to the XDebug team.