phpapachexdebug-profiler

XDebug not profiling POST


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


Solution

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