PHP profiling delay before shutdown function

后端 未结 3 584
感动是毒
感动是毒 2021-01-19 05:05
// VERY BEGIN OF SCRIPT
$_SERVER[\'HX_startTime\'] = microtime(true);

...

// MY SHUTDOWN FUNCTION
register_shutdown_function(\'HX_shutdownFn\');
function HX_shutdo         


        
3条回答
  •  醉梦人生
    2021-01-19 05:17

    As others have mentioned, there may be other shutdown functions. Additionally, there are the destructors of objects that are called when they go out of scope (if in the global scope).

    You can see all of this in glorious detail with the XDebug module (http://xdebug.org/), particularly when using the trace files. Once you have XDebug installed and configured, you can append ?XDEBUG_TRACE=1 to your url and see a full call stack for the entire execution of your page, including timing information for each line.

    With appropriate options, you can also see allocations, names and values of parameters, returned values, and assignments. It's a very powerful and useful tool.

    These are the settings I use for XDebug:

    xdebug.default_enable=1
    xdebug.profiler_enable=0
    xdebug.profiler_enable_trigger=1
    xdebug.profiler_append=On
    xdebug.auto_trace=Off
    xdebug.show_mem_delta=On
    xdebug.collect_return=On
    xdebug.collect_params=4
    xdebug.profiler_output_dir = /tmp
    xdebug.profiler_output_name = profile.%H.%t.%p
    xdebug.var_display_max_children = 999
    xdebug.var_display_max_data = 99999
    xdebug.var_display_max_depth = 100
    xdebug.remote_enable=1
    xdebug.cli_color=1
    xdebug.show_local_vars=1    
    xdebug.show_mem_delta=1
    xdebug.collect_return=1
    xdebug.collect_assignments=1
    xdebug.collect_params=4
    xdebug.collect_includes=1
    xdebug.trace_enable_trigger=1
    xdebug.trace_output_dir=/tmp
    xdebug.trace_output_name=trace.%t.%R.%p
    

提交回复
热议问题