mead-steve / raygun4php
这是 PHP 5.3 版本 Raygun.io 客户端的分支,用于自动发送错误和异常。希望这个分支在编写测试时更容易一些,并使用额外的发送消息到 Raygun 的方式。
This package is auto-updated.
Last update: 2019-10-05 15:09:36 UTC
README
这是位于此处的官方 Raygun PHP 客户端的分支:[MindscapeHQ/raygun4php](https://github.com/MindscapeHQ/raygun4php/)。我打算保持客户端对象的接口与官方客户端相同,以便可以来回切换。
安装
首先,确保在服务器的 php.ini 文件中安装并启用了 curl。
使用 Composer
Composer 是 PHP 的包管理工具,它自动获取依赖关系,并支持自动加载 - 这是一种低影响的方式将 Raygun4php 引入您的网站。
-
如果您使用的是 *nix 环境,请按照[Composer 安装说明](http://getcomposer.org/doc/01-basic-usage.md#installation)进行安装。Windows 用户可以运行[此安装程序](https://github.com/johnstevenson/composer-setup)以自动将其添加到路径等。
-
在您的项目根目录中创建一个 composer.json 文件,包含以下内容:
{ "require": { "mead-steve/raygun4php": "1.*" } }
-
从您的 shell 运行
php composer.phar install
(*nix) 或composer install
(Windows)。这将下载 Raygun4Php 并创建适当的自动加载数据。 -
然后在 PHP 文件中添加以下内容
require_once 'vendor/autoload.php';
然后库将被导入,准备好使用。
使用 Git 手动安装
克隆此存储库,并将 src/Raygun4php 复制到您的项目中的适当子目录中,例如 /vendor/Raygun4php。在您想要调用 Send() 的地方添加 RaygunClient.php 的 requires 定义。
require (dirname(dirname(__FILE__)).'/vendor/Raygun4php/RaygunClient.php');
使用方法
您可以发送 PHP 错误和面向对象的异常到 Raygun。一种简单的方法是创建一个包含异常和错误处理程序(它们调用适当的 Raygun4php 函数)的文件。像上面一样,导入 Raygun4php - 如果您使用 Composer,只需添加 require_once 'vendor/autoload.php'
,或者如果不手动导入 RaygunClient.php。
然后,创建如下所示的处理程序
$client = \MeadSteve\Raygun4php\RayGun::getClient("{{apikey for your application}}"); function error_handler($errno, $errstr, $errfile, $errline ) { global $client; $client->SendError($errno, $errstr, $errfile, $errline); } function exception_handler($exception) { global $client; $client->SendException($exception); } set_exception_handler('exception_handler'); set_error_handler("error_handler");
从 Raygun.io 控制台复制您的应用程序的 API 密钥,并将其放置在上面的构造函数调用中(不要包含花括号)。
如果处理程序位于自己的文件中,只需将其导入到您想要发送异常和错误的每个文件中,它们将被发送到 Raygun.io。
版本号
您可以通过在实例化 RaygunClient 后调用 SetVersion() 将您的 PHP 项目的版本号与消息一起传输 - 这不是必需的,但建议这样做,因为版本号被认为是消息的第一类数据。
用户跟踪
您可以调用 $client->SetUser($user),传入表示当前调用应用程序用户用户名或电子邮件地址的字符串。这将附加到消息中并在仪表板中可见。此方法为可选 - 如果未调用,则将使用随机标识符。如果您使用此功能,并且用户更改(登录/登出),请务必再次调用它,传入新用户(或只需调用 $client->SetUser() 以分配新的随机标识符)。
请注意,这些数据存储为cookie。如果您不调用SetUser,默认情况下将存储一个随机UUID来表示用户。
此功能可以通过在会话开始时调用SetUser(string)在CLI模式下使用。
故障排除
SendError和SendException返回事务的HTTP状态码 - 输出此内容将给出403,如果您的API密钥不正确,或者200表示一切顺利。