binfer / php-xh
此包的最新版本(1)没有可用的许可证信息。
一个xhprof包示例
1
2018-12-19 04:10 UTC
Requires
- php: >=5.3.3
- ext-curl: *
- ext-pdo: *
- ext-pdo_mysql: *
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,也无需担心,因为开销不到几毫秒。