当然有!以下是一个使用 PHP 与 InfluxDB 交互的简单示例。这个示例展示了如何连接到 InfluxDB,写入数据,然后读取数据。
首先,确保你已经安装了 InfluxDB,然后使用 Composer 安装 PHP 客户端库:
composer require influxdb/influxdb-client
创建一个名为 influxdb_example.php
的文件,并添加以下代码:
<?php
require 'vendor/autoload.php';
use InfluxDB\Client\InfluxDBClient;
use InfluxDB\Client\WriteApi;
use InfluxDB\Model\Point;
// 配置 InfluxDB 连接信息
$host = 'localhost';
$port = 8086;
$user = 'root';
$password = 'root';
$database = 'mydb';
// 创建 InfluxDBClient 实例
$client = new InfluxDBClient([
'url' => "http://${host}:${port}",
'username' => $user,
'password' => $password
]);
// 选择要写入的数据库
$writeApi = $client->getWriteApi($database);
// 写入数据
$point = Point::measurement('my_measurement')
->addField('value', 1)
->time(new \DateTime('2023-04-01T12:00:00Z'));
$writeApi->writePoint($point);
$writeApi->close();
// 读取数据
$queryApi = $client->getQueryApi($database);
$query = 'from(bucket:"mydb") |> range(start: -1h)';
$result = $queryApi->collectRows($query);
echo "Data:\n";
foreach ($result as $row) {
echo "Time: " . $row['_time'] . ", Value: " . $row['value'] . "\n";
}
// 关闭客户端连接
$client->close();
确保 InfluxDB 服务正在运行,然后在命令行中运行以下命令:
php influxdb_example.php
你应该会看到类似以下的输出:
Data:
Time: 2023-04-01T12:00:00Z, Value: 1
这个示例展示了如何使用 PHP 与 InfluxDB 进行基本的读写操作。你可以根据自己的需求扩展这个示例,例如添加更多的数据点、使用不同的时间范围等。