binfer/php-xh

此包的最新版本(1)没有可用的许可证信息。

一个xhprof包示例

安装: 3

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:vcs

1 2018-12-19 04:10 UTC

This package is auto-updated.

Last update: 2024-09-29 05:42:12 UTC


README

首先,您需要安装XHProf扩展。如果您需要帮助,请参阅PHP文档

您需要手动创建数据库,并用提供的方案填充它。数据库方案位于/setup/database.sql

/xhprof/includes/config.inc.sample.php重命名为/xhprof/includes/config.inc.php。只有两个支持的参数。

  • xhprof_url是XHProf.io库的URL。
  • pdo是PDO实例。此库使用PDO来处理所有数据库操作。
  • enable是一个闭包,用于控制何时启用数据收集,返回true表示始终启用

一些参考情况

始终启用

'enable' => function() {
     return true;
}

如果URL包含debug参数,则启用

'enable' => function() {
    if (!empty($_GET['debug'])) {
        return true;
    }
}

以1/100的概率启用

'enable' => function() {
    return rand(0, 100) === 42;
}

如果URL路径是/则启用

'enable' => function() {
    if (parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) === '/') {
        return true;
    }
}

为了使XHProf.io开始收集数据,您需要将/inc/inject.php文件包含到每个感兴趣的文件中。推荐的方法是更新您的php.ini配置以自动添加和附加这些文件。

auto_prepend_file = /[absolute path to xhprof.io]/inc/inject.php

如果您使用nginx,可以将auto_prepend_file配置为fastcgi_param

fastcgi_param  PHP_VALUE "auto_prepend_file=/[absolute path to xhprof.io]/inc/inject.php";

如果您使用PHP-FPM,则XHProf.io将利用fastcgi_finish_request来隐藏与数据收集相关的任何开销。如果您不使用PHP-FPM,也无需担心,因为开销不到几毫秒。