PHP Client doesn't seem to be writing to InfluxDB2

I’m having trouble sending data to influxdb cloud via the PHP client (GitHub - influxdata/influxdb-client-php: InfluxDB (v2+) Client Library for PHP). It seemed to work for a few times last Thursday & Friday, however, not today. When I log into the dashboard, I can’t see anything in my bucket. The PHP client does not produce any errors. Is there a general problem?

Hi @Apostropher,

thanks for using our client.

Is there a general problem?

There isn’t known issue.

Can you share the debug output of the client? You can enable debug mode by:

$this->client = new Client([
    "url" => "http://localhost:8086",
    "token" => "my-token",
    "bucket" => "my-bucket",
    "precision" => WritePrecision::NS,
    "org" => "my-org",
    "debug" => true
]);

Regards

Hello @bednar,

Thanks for your response. Here’s the debug output

* Expire in 0 ms for 6 (transfer 0x559e42e64ea0)
* Expire in 10000 ms for 8 (transfer 0x559e42e64ea0)
* Expire in 150000 ms for 2 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 0 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 1 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 2 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 3 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 3 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 5 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 5 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 4 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 5 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 6 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 8 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 7 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 7 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 8 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 7 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 7 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 8 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 10 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 10 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 8 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 10 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 10 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 16 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 13 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 13 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 16 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 14 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 14 ms for 1 (transfer 0x559e42e64ea0)
* Expire in 50 ms for 1 (transfer 0x559e42e64ea0)
*   Trying 3.123.149.45...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x559e42e64ea0)
* Connected to eu-central-1-1.aws.cloud2.influxdata.com (3.123.149.45) port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=eu-central-1-1.aws.cloud2.influxdata.com
*  start date: Jul 23 07:49:01 2021 GMT
*  expire date: Oct 21 07:48:59 2021 GMT
*  subjectAltName: host "eu-central-1-1.aws.cloud2.influxdata.com" matched cert's "eu-central-1-1.aws.cloud2.influxdata.com"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> POST /api/v2/write?org=commercialpeople&bucket=statistics&precision=us HTTP/1.1
Host: eu-central-1-1.aws.cloud2.influxdata.com
Authorization: Token {token}
User-Agent: influxdb-client-php/2.0.0
Content-Type: application/json
Content-Length: 46

* upload completely sent off: 46 out of 46 bytes
* old SSL session ID is stale, removing
< HTTP/1.1 204 No Content
< Date: Mon, 02 Aug 2021 12:42:11 GMT
< Connection: keep-alive
< trace-id: fcbe852d171badbd
< trace-sampled: false
< Strict-Transport-Security: max-age=15724800; includeSubDomains
< 
* Connection #0 to host eu-central-1-1.aws.cloud2.influxdata.com left intact
* Expire in 0 ms for 6 (transfer 0x559e42e64ea0)
* Expire in 10000 ms for 8 (transfer 0x559e42e64ea0)
* Expire in 150000 ms for 2 (transfer 0x559e42e64ea0)
* Found bundle for host eu-central-1-1.aws.cloud2.influxdata.com: 0x559e42e73940 [can pipeline]
* Re-using existing connection! (#0) with host eu-central-1-1.aws.cloud2.influxdata.com
* Connected to eu-central-1-1.aws.cloud2.influxdata.com (3.123.149.45) port 443 (#0)
* Expire in 0 ms for 6 (transfer 0x559e42e64ea0)
> POST /api/v2/write?org=commercialpeople&bucket=statistics&precision=us HTTP/1.1
Host: eu-central-1-1.aws.cloud2.influxdata.com
Authorization: Token {token}
User-Agent: influxdb-client-php/2.0.0
Content-Type: application/json
Content-Length: 45

* upload completely sent off: 45 out of 45 bytes
< HTTP/1.1 204 No Content
< Date: Mon, 02 Aug 2021 12:42:12 GMT
< Connection: keep-alive
< trace-id: 7d7e8ed532fc40e2
< trace-sampled: false
< Strict-Transport-Security: max-age=15724800; includeSubDomains
< 
* Connection #0 to host eu-central-1-1.aws.cloud2.influxdata.com left intact
* Expire in 0 ms for 6 (transfer 0x559e42e64ea0)
* Expire in 10000 ms for 8 (transfer 0x559e42e64ea0)
* Expire in 150000 ms for 2 (transfer 0x559e42e64ea0)
* Found bundle for host eu-central-1-1.aws.cloud2.influxdata.com: 0x559e42e73940 [can pipeline]
* Re-using existing connection! (#0) with host eu-central-1-1.aws.cloud2.influxdata.com
* Connected to eu-central-1-1.aws.cloud2.influxdata.com (3.123.149.45) port 443 (#0)
* Expire in 0 ms for 6 (transfer 0x559e42e64ea0)
> POST /api/v2/write?org=commercialpeople&bucket=statistics&precision=us HTTP/1.1
Host: eu-central-1-1.aws.cloud2.influxdata.com
Authorization: Token {token}
User-Agent: influxdb-client-php/2.0.0
Content-Type: application/json
Content-Length: 51

* upload completely sent off: 51 out of 51 bytes
< HTTP/1.1 204 No Content
< Date: Mon, 02 Aug 2021 12:42:12 GMT
< Connection: keep-alive
< trace-id: 55101461d4b7586b
< trace-sampled: false
< Strict-Transport-Security: max-age=15724800; includeSubDomains
< 
* Connection #0 to host eu-central-1-1.aws.cloud2.influxdata.com left intact
* Expire in 0 ms for 6 (transfer 0x559e42e64ea0)
* Expire in 10000 ms for 8 (transfer 0x559e42e64ea0)
* Expire in 150000 ms for 2 (transfer 0x559e42e64ea0)
* Found bundle for host eu-central-1-1.aws.cloud2.influxdata.com: 0x559e42e73940 [can pipeline]
* Re-using existing connection! (#0) with host eu-central-1-1.aws.cloud2.influxdata.com
* Connected to eu-central-1-1.aws.cloud2.influxdata.com (3.123.149.45) port 443 (#0)
* Expire in 0 ms for 6 (transfer 0x559e42e64ea0)
> POST /api/v2/write?org=commercialpeople&bucket=statistics&precision=us HTTP/1.1
Host: eu-central-1-1.aws.cloud2.influxdata.com
Authorization: Token {token}
User-Agent: influxdb-client-php/2.0.0
Content-Type: application/json
Content-Length: 44

* upload completely sent off: 44 out of 44 bytes
< HTTP/1.1 204 No Content
< Date: Mon, 02 Aug 2021 12:42:12 GMT
< Connection: keep-alive
< trace-id: f484d6bc495b0922
< trace-sampled: false
< Strict-Transport-Security: max-age=15724800; includeSubDomains
< 
* Connection #0 to host eu-central-1-1.aws.cloud2.influxdata.com left intact

I have replaced instances of the token with “{token}”.

* upload completely sent off: 46 out of 46 bytes
* old SSL session ID is stale, removing
< HTTP/1.1 204 No Content
< Date: Mon, 02 Aug 2021 12:42:11 GMT
< Connection: keep-alive
< trace-id: fcbe852d171badbd
< trace-sampled: false
< Strict-Transport-Security: max-age=15724800; includeSubDomains

The output shows that the writes were successfully ingested into InfluxDB.

How do you creates the data for writes?

This is what I see in the dashboard:

The data is written with the following:

$time = microtime(true);
$measureMent = 'search_view';
$field = 'listing';
$fieldValue = 'a-listing-id';
$writeApi = $this->getClient()->createWriteApi();
$point = InfluxDB2\Point::measurement($measureMent)
                    ->time($time)
                    ->addField($field, $fieldValue);
$writeApi->write($point);
$writeApi->close();

It’s similar to what’s in the PHP Client’s documentation.

Perhaps InfluxDB cloud is having problems?

It looks like problem with precision of time.

Returns time in seconds, so you have to initialize the client with second precision. Something like:

$this->client = new Client([
    "url" => "http://localhost:8086",
    "token" => "my-token",
    "bucket" => "my-bucket",
    "precision" => InfluxDB2\Model\WritePrecision::S,
    "org" => "my-org",
    "debug" => true
]);

Thanks for this. Such a silly mistake.

1 Like