xhprof nginx配置的预加载代码
<?php //var_dump(function_exists("register_shutdown_function")); //根据参数控制是否开启xhprof if ((rand(1, 100) >= 1 || !empty($_GET['xhprof'])) && PHP_SAPI != 'cli' && function_exists('xhprof_enable')) { //(rand(1, 100) 控制采样率 !defined('DEBUG_LIB') && define("DEBUG_LIB", "/data/www/xhprof/xhprof_lib"); //根据你存放的目录修改 include_once DEBUG_LIB . "/utils/xhprof_lib.php"; include_once DEBUG_LIB . "/utils/xhprof_runs.php"; xhprof_enable(XHPROF_FLAGS_NO_BUILTINS + XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); register_shutdown_function(function() { //stop profiler if (!function_exists("xhprof_disable")) { return ; } $xhprof_data = xhprof_disable(); $wt = isset($xhprof_data['main()']['wt']) ? $xhprof_data['main()']['wt'] : 0; $client_id = empty($_SERVER['HTTP_X_AKAM_CLIENTID']) ? '' : $_SERVER['HTTP_X_AKAM_CLIENTID']; if ($wt <= 2000000 && empty($_GET['xhprof'])) { return ; } //冲刷(flush)所有响应的数据给客户端 $xhprof_runs = new XHProfRuns_Default(); //save the run under a namespace "xhprof_foo" $uri = $_GET['xhprof'] . '-' . $client_id . '-wt:' . round($wt * 0.001) . '-' . $_SERVER['HTTP_HOST'] . $_SERVER['PATH_INFO']; $uri = str_replace(['/', '.', '\\', '|'], '_', $uri); $xhprof_runs->save_run($xhprof_data, $uri); }); }