PHP

influxdb php有案例分享吗

小樊
81
2024-10-17 21:22:06
栏目: 编程语言

当然有!以下是一个使用 PHP 与 InfluxDB 交互的简单示例。这个示例展示了如何连接到 InfluxDB,写入数据,然后读取数据。

1. 安装 InfluxDB PHP 客户端

首先,确保你已经安装了 InfluxDB,然后使用 Composer 安装 PHP 客户端库:

composer require influxdb/influxdb-client

2. 编写 PHP 代码

创建一个名为 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();

3. 运行示例

确保 InfluxDB 服务正在运行,然后在命令行中运行以下命令:

php influxdb_example.php

你应该会看到类似以下的输出:

Data:
Time: 2023-04-01T12:00:00Z, Value: 1

这个示例展示了如何使用 PHP 与 InfluxDB 进行基本的读写操作。你可以根据自己的需求扩展这个示例,例如添加更多的数据点、使用不同的时间范围等。

0
看了该问题的人还看了