Tutorial :XDebug profiling in PHP - can't get output


I've got a strange issue. I've setup XDebug to profile a PHP application we're working on. I believe everything is setup correctly but I get no output when I run it. My configuration looks like this:

zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so  [XDebug]  xdebug.profiler_append = 1  xdebug.profiler_enable = 0 (I've tried this both on and off)  xdebug.profiler_enable_trigger = 1  xdebug.profiler_output_dir = "/debug/xdebug/profiler_output_dir"  xdebug.profiler_output_name = "cachegrind.out.%p"  

All the phpinfo() settings match up like they should. The permissions on the output directory are set to 777 right now just so I can test it. I've tried using a directory under public_html as well but no luck. The URL I'm using to launch the profiler is:

http://example.com/my_page.php?XDEBUG_PROFILE  -or-  http://example.com/my_page.php?XDEBUG_PROFILE=1  

Neither works. Any help would be GREATLY appreciated!! This app has a 5-6 second page load time and I haven't been able to trace it through code.


Comment out xdebug.profiler_output_dir and xdebug.profiler_output_name and see whether you can find the output under /tmp/.


There is also problem with /tmp folders on some distributions, i couldnt get output on centos 7 and then i found this

So, i have set


set 777 and its ok now.


Another possible cause of this issue is the permissions on the folder of profiler_output_dir.

Adding write permissions to the group and owner resolved the issue for me:

sudo chmod go+w /home/dimitris/cachegrind/  


Also, beware of access restrictions, such as access rights, groups, owner and SElinux...


The full path was required, not just the path:

xdebug.profiler_append=1  xdebug.profiler_output_dir ="/home/username/debug/xdebug/profiler_output_dir"  xdebug.profiler_output_name = "cachegrind.out.%s.%H"  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »