mead-steve/raygun4php

此包已被废弃,不再维护。未建议替代包。

这是 PHP 5.3 版本 Raygun.io 客户端的分支,用于自动发送错误和异常。希望这个分支在编写测试时更容易一些,并使用额外的发送消息到 Raygun 的方式。

v0.2.0 2014-03-03 13:51 UTC

README

这是位于此处的官方 Raygun PHP 客户端的分支:[MindscapeHQ/raygun4php](https://github.com/MindscapeHQ/raygun4php/)。我打算保持客户端对象的接口与官方客户端相同,以便可以来回切换。

安装

首先,确保在服务器的 php.ini 文件中安装并启用了 curl

使用 Composer

Composer 是 PHP 的包管理工具,它自动获取依赖关系,并支持自动加载 - 这是一种低影响的方式将 Raygun4php 引入您的网站。

  1. 如果您使用的是 *nix 环境,请按照[Composer 安装说明](http://getcomposer.org/doc/01-basic-usage.md#installation)进行安装。Windows 用户可以运行[此安装程序](https://github.com/johnstevenson/composer-setup)以自动将其添加到路径等。

  2. 在您的项目根目录中创建一个 composer.json 文件,包含以下内容:

{
        "require": {
            "mead-steve/raygun4php": "1.*"
        }
}
  1. 从您的 shell 运行 php composer.phar install (*nix) 或 composer install (Windows)。这将下载 Raygun4Php 并创建适当的自动加载数据。

  2. 然后在 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表示一切顺利。