Overview
Esta página contiene ejemplos de código que muestran cómo conectar tu aplicación PHP a MongoDB con varias configuraciones.
Tip
Para obtener más información sobre las opciones de conexión de esta página, consulta el enlace proporcionado en cada sección.
To use a connection example from this page, copy the code example into the sample application or your own application. Make sure to replace all placeholders in the code examples, such as <hostname>, with the relevant values for your MongoDB deployment.
Aplicación de muestra
Puede utilizar la siguiente aplicación de muestra para probar los ejemplos de código en esta página. Para usar la aplicación de muestra, siga los siguientes pasos:
Asegúrate de tener instalada la librería PHP de MongoDB en tu proyecto. Para obtener más información sobre la instalación de la librería PHP de MongoDB, consulta la guía Descargar e instalar.
Copia el siguiente código y pégalo en un nuevo archivo
.php.Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.
Tip
The require statement in the sample application loads the MongoDB PHP Library and assumes that the vendor directory is in the same directory as your application file. If your application file is located elsewhere, adjust the path to vendor/autoload.php accordingly.
1 2 3 require __DIR__ . '/vendor/autoload.php'; 4 5 // Start example code here 6 7 // End example code here 8 9 try { 10 $client->test->command(['ping' => 1]); 11 echo 'Successfully pinged the MongoDB server.', PHP_EOL; 12 } catch (MongoDB\Driver\Exception\RuntimeException $e) { 13 printf("Failed to ping the MongoDB server: %s\n", $e->getMessage()); 14 }
Importante
Codificación porcentaje
Debe codificar con porcentaje el nombre de usuario y la contraseña antes de incluirlos en una URI de MongoDB. Puede usar el rawurlencode() método para codificar estos valores según la sintaxis de URI especificada en RFC.3986 No codifique con porcentaje el nombre de usuario ni la contraseña al pasarlos como parámetro de matriz de opciones al MongoDB\Client constructor.
Conexión
Atlas
Atlas connection strings use the mongodb+srv prefix and include your database user's credentials. The following code shows how to connect to a MongoDB Atlas deployment:
$uri = 'mongodb+srv://<db_username>:<db_password>@<cluster-url>/'; $client = new MongoDB\Client($uri);
Para obtener más información sobre cómo conectarse a una implementación de Atlas, consulte Atlas en la guía de objetivos de conexión.
Implementación local
El siguiente código muestra cómo conectarse a una implementación de MongoDB local:
$uri = 'mongodb://localhost:27017/'; $client = new MongoDB\Client($uri);
Nota
Si no se especificas el parámetro $uri, el URI de conexión se establece en 'mongodb://127.0.0.1:27017' por defecto.
Para conocer más sobre la conexión a una implementación local, consulte Implementaciones locales en la guía de Objetivos de conexión.
Set de réplicas
El siguiente código muestra cómo conectarse a una implementación de conjunto de réplicas:
$client = new MongoDB\Client( 'mongodb://<replica set member>:<port>/', ['replicaSet' => '<replica set name>'], );
$uri = 'mongodb://<replica set member>:<port>/?replicaSet=<replica set name>'; $client = new MongoDB\Client($uri);
Tip
Para mantener tu conexión a una implementación de set de réplicas cuando un host está caído, puedes proporcionar varios miembros del set de réplicas en el URI de conexión.
Para obtener más información sobre cómo conectarse a un set de réplicas, consulta Sets de réplicas en la guía Objetivos de Conexión.
Stable API
El siguiente código muestra cómo habilitar la Stable API para la conexión a tu instancia de MongoDB:
$driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>/', [], $driverOptions, );
Para obtener más información sobre la API estable, consulte la guía Conectar con la API estable.
Compresión de la red
El siguiente código muestra cómo especificar los algoritmos de compresión Snappy, Zlib y Zstandard para una conexión:
$client = new MongoDB\Client( 'mongodb://<hostname>:<port>', ['compressors' => 'snappy,zstd,zlib'], );
$uri = 'mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib'; $client = new MongoDB\Client($uri);
Para obtener más información sobre la compresión de redes, consulte la guía Comprimir tráfico de red.