phpperftools / collector
用于收集和存储 XHProf/uprofiler/tideway 结果的库,以便 PhpPerfTools/Gui 后续使用。
Requires
- php: >=5.3.0
- paragonie/random_compat: >=2.0
Suggests
- ext-curl: You need to install the curl extension to upload saved files
- ext-igbinary: Alternative serializer
- ext-json: You need json extension to work with json on some linux systems
- ext-mongo: Mongo is needed to store profiler results for PHP < 7.
- ext-mongodb: Mongo is needed to store profiler results for PHP > 7.
- ext-pdo: You need pdo extension with correct database driver loaded to work with PDO
- ext-tideway: You need to install either xhprof, uprofiler or tideway to use PhpPerfTools/Gui.
- ext-uprofiler: You need to install either xhprof, uprofiler or tideway to use PhpPerfTools/Gui.
- ext-xhprof: You need to install either xhprof, uprofiler or tideway to use PhpPerfTools/Gui.
- alcaeus/mongo-php-adapter: Mongo PHP Adapter is required for PHP >7 (when using ext-mongodb)
This package is auto-updated.
Last update: 2024-09-18 20:44:03 UTC
README
这是一个小型独立模块,您可以使用它来收集和存储 XHProf 或 Uprofiler 或 Tideways 性能数据,以便在 GUI 中后续使用。
目标
- 与 PHP >= 5.3.0 兼容
- 除了相关扩展外,无其他依赖
- 可定制和配置,您可以在其基础上构建自己的逻辑
用法
分析应用程序或网站
分析应用程序的最简单方法是使用 external/header.php
。 external/header.php
设计用于与 PHP 的 auto_prepend_file 指令结合使用。您可以通过 php.ini
在整个系统范围内启用 auto_prepend_file
。或者,您可以通过虚拟主机启用 auto_prepend_file
。
在 Apache 中,这看起来像
<VirtualHost *:80> php_admin_value auto_prepend_file "/Users/markstory/Sites/xhgui/external/header.php" DocumentRoot "/Users/markstory/Sites/awesome-thing/app/webroot/" ServerName site.localhost </VirtualHost>
在 Nginx 的 fastcgi 模式下,您可以使用
server { listen 80; server_name site.localhost; root /Users/markstory/Sites/awesome-thing/app/webroot/; fastcgi_param PHP_VALUE "auto_prepend_file=/Users/markstory/Sites/xhgui/external/header.php"; }
分析 CLI 脚本
分析 CLI 的最简单方法是使用 external/header.php
。 external/header.php
设计用于与 PHP 的 auto_prepend_file 指令结合使用。您可以通过 php.ini
在整个系统范围内启用 auto_prepend_file
。或者,您可以在脚本顶部包含 header.php
。
<?php require '/path/to/xhgui/external/header.php'; // Rest of script.
您还可以在运行 php 时使用 -d
标志
php -d auto_prepend_file=/path/to/xhgui/external/header.php do_work.php
使用环境变量
- 运行
composer require perftools/xhgui-collector
- 将这些行包含到您的引导文件中(例如 index.php)
define('XHGUI_CONFIG_DIR', PATH_TO_OWN_CONFIG);
require_once PATH_TO_YOUR_VENDOR . '/perftools/xhgui-collector/external/header.php';
- 设置环境变量以配置分析行为
系统要求
要使用数据收集类,您需要以下内容
- PHP 版本 5.3 或更高。
- XHProf、Uprofiler 或 Tideways 以实际分析数据。
- 某种存储数据的方式。请选择以下任一选项
- MongoDB 扩展>=1.3.0(来自 pecl 的 MongoDB PHP 驱动程序)和
alcaeus/mongo-php-adapter
composer 依赖项, - PDO。此包与 SQLite(无原生 json)、MySQL(有和没有原生 json)以及具有原生 json 的 PostgreSQL 进行了测试,
- 目录中的文件
- 上传到 GUI 实例
- MongoDB 扩展>=1.3.0(来自 pecl 的 MongoDB PHP 驱动程序)和
如有疑问,请参阅 PhpPerfTools/GUI 存储库的 composer.json 或此存储库的 composer.json suggests
部分。
原始代码版权所有 2013 Mark Story & Paul Reinheimer 变更版权所有 2019 Grzegorz Drozd
特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,无限制地处理该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按照“现状”提供,不提供任何形式的保证,无论是明示的、暗示的,还是包括但不限于适销性、适用于特定用途和不受专利侵犯的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是基于合同行为、侵权或其他,这些索赔、损害或其他责任源于、产生于或与软件或软件的使用或其他方式有关。