51Degrees/fiftyone.devicedetection

51Degrees Pipeline API 的设备检测引擎。通过解析 HTTP 头部信息来检测硬件、操作系统、浏览器和爬虫信息。


README

51Degrees PHP 设备检测

开发者文档

简介

此项目包含用于与 Pipeline API 一起使用的 51Degrees 云设备检测引擎的 PHP 实现源代码。

依赖项

已测试版本页面中显示了当前测试的 PHP 版本。软件可能在其他版本上运行良好,但应采取额外的谨慎。

您需要资源密钥才能使用云 API。您可以使用我们的 配置器创建资源密钥,有关如何使用该配置器的说明,请参阅我们的文档

示例

注意:示例在 Linux 和 macOS 上运行。我们没有在 Windows 环境中进行测试,因为它是 PHP 的一个罕见选择。

要运行示例,您需要安装 PHP 和 composer。一旦这些可用,安装(或更新)示例所需的依赖项。导航到存储库根目录并执行以下操作:

composer install

composer update

如果之前已安装依赖项。

这将创建包含 autoload.php 的 vendor 目录。

在运行示例脚本之前,请确保已将 resource_key 环境变量设置为您的资源密钥。现在导航到示例目录并使用相关文件启动 PHP 服务器。例如

resource_key=YOUR_RESOURCE_KEY php -S localhost:3000 cloud/gettingStartedWeb.php

resource_key=YOUR_RESOURCE_KEY php cloud/gettingStartedConsole.php

在终端中运行

这将启动一个本地 Web 服务器,监听端口 3000。打开您的 Web 浏览器,浏览到 https://:3000/ 以查看示例的实际操作。

测试

此存储库包含示例的测试。要运行测试,请确保已安装 PHPUnit,然后在存储库根目录中调用:

phpunit --fail-on-warning --display-warnings --log-junit test-results.xml

本地设备检测

本地设备检测的实现速度更快,但比云版本需要更多的内存和计算能力。不幸的是,通过composer分发本地包将需要包含不允许的二进制可执行文件(.so/.dll)。如果您想使用本地版本,则需要克隆本地仓库,并按照readme文件中的说明构建所需的模块。这是一个相当复杂的过程,如果您遇到困难,请随时联系我们

开发

在修改此仓库时,可能需要链接到本地开发版本的pipeline依赖项。有关此信息,请参阅Composer本地路径

例如,如果本地存储了51degrees/fiftyone.pipeline.core的开发版本,可以通过以下方式添加位置:

"repositories": [
	{
		"type": "path",
		"url": "../../path/to/packages/pipeline-php-core"
	}
]

然后,依赖项更改为

"51degrees/fiftyone.pipeline.core": "*"