InfluxPHP/README.md

1.6 KiB

InfluxDB Build Status

Simple PHP client for InfluxDB, an open-source, distributed, time series, events, and metrics database with no external dependencies.

How to install it

The easiest way is to install it via composer

composer require crodas/influx-php:\*

How to use it

You need to create a client object.

$client = new \crodas\InfluxPHP\Client(
   "localhost" /*default*/,
   8086 /* default */,
   "root" /* by default */,
   "root" /* by default */
);

The first time you should create an database.

$db = $client->createDatabase("foobar");
$db->createUser("foo", "bar"); // <-- create user/password

Create data is very simple.

$db = $client->foobar;
$db->insert("some label", ['foobar' => 'bar']); // single input
$db->insert("some label", [
    ['foobar' => 'bar'],
    ['foobar' => 'foo'],
]); // multiple input, this is better :-)

Now you can get the database object and start querying.

$db = $client->foobar;
// OR
$db = $client->getDatabase("foobar");

foreach ($db->query("SELECT * FROM foo;") as $row) {
    var_dump($row, $row->time);
}

Options

  • Timeout to prevent slow queries from hanging your program:
$client = new \crodas\InfluxPHP\Client(
   "localhost" /*default*/,
   8086 /* default */,
   "root" /* by default */,
   "root" /* by default */,
   60 // 60-second timeout (CURLOPT_TIMEOUT)
);