PHP
Connect a PHP application to TeselaDB with the official MongoDB driver.
Connect a PHP application to TeselaDB with the official MongoDB driver for PHP. TeselaDB presents itself as a mongos, so the driver works unchanged.
Requirements
- PHP with the
mongodbextension and Composer. - The address of one or more nodes, a user with
readWriteon the database and thepki/ca.pemfile of the cluster.
Install the driver
Shell
pecl install mongodb
composer require mongodb/mongodbStore the connection string
Put the string in an environment variable instead of writing it in the code:
Shell
export TESELADB_URI="mongodb://user:<password>@node-01:27017,node-02:27017/shop?tls=true&tlsCAFile=./ca.pem"Write and read a document
<?php
require "vendor/autoload.php";
$client = new MongoDB\Client(getenv("TESELADB_URI"));
$orders = $client->shop->orders;
$orders->insertOne(["total" => 149.5]);
echo $orders->countDocuments(), PHP_EOL;Check
The program prints the number of documents in orders, which grows by one each time you run it.
Common problems
- The connection closes before authenticating because
tls=trueis missing from the string. - The driver does not trust the node certificate because it does not have the CA of this cluster.