1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-23 23:12:09 +01:00
Files
archived-doc-es/reference/mongodb/configure.xml
Marcos Porto Mariño 8cefc93839 Various updates, up to EN 480cc8a (#340)
* Fix incorrect indentation of CDATA tags

Follow-up to GH-4963

* Remove paragraph indicating ext/json was a PECL extension in PHP 5

As we don't document PHP 5 any more

* Following up GH-5052 for markup nits

Partial revert of 4dbc737
No a para tag is actually needed here because programlisting is a block element

* Deprecated non-canonical cast names

* Document openssl.libctx INI

* profileimage.xml Add tags and a description of the parameters
2026-01-10 19:58:30 +01:00

330 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 83286b1ab69b6857e0a4e5d321ff6f2fb75bc253 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: no Maintainer: Marqitos -->
<section xml:id="mongodb.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<section xml:id="mongodb.installation.pie">
<title>Instalar la extensión de MongoDB PHP con PIE</title>
&pecl.moving.to.pie;
<para>
Para instalar la extensión MongoDB usando PIE, ejecute el siguiente comando:
<programlisting role="shell">
<![CDATA[
pie install mongodb/mongodb-extension
]]>
</programlisting>
</para>
</section>
<section xml:id="mongodb.installation.pecl">
<title>Instalar la extensión de MongoDB PHP con PECL</title>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;mongodb">&url.pecl.package;mongodb</link>
</para>
<para>
Los usuarios de Linux, Unix y macOS pueden ejecutar el siguiente comando para
instalar la extensión:
<programlisting role="shell">
<![CDATA[
$ sudo pecl install mongodb
]]>
</programlisting>
</para>
<para>
En sistemas con múltiples versiones de PHP instaladas (por ejemplo, macOS por omisión,
Homebrew, <link xlink:href="&url.xampp;">XAMPP</link>), cada versión de PHP
tendrá su propio comando <link linkend="install.pecl">pecl</link>
y fichero &php.ini;. Además, cada entorno PHP (por ejemplo
CLI, web) puede utilizar ficheros &php.ini; separados.
</para>
<para>
Desde la versión 1.17.0 de la extensión, PECL solicitará diversas opciones de
<literal>configuraciones</literal>. Para instalar la extensión con las opciones por omisión
en un script no interactivo, una entrada vacía puede ser enviada a
<literal>pecl install</literal> utilizando el comando <literal>yes</literal> :
<programlisting role="shell">
<![CDATA[
$ yes '' | sudo pecl install mongodb
]]>
</programlisting>
</para>
<para>
Una lista completa de las opciones <literal>configure</literal> soportadas puede ser
encontrada en el fichero <literal>package.xml</literal> incluido en el paquete PECL.
Para instalar la extensión con opciones de <literal>configuraciones</literal> específicas
en un script no interactivo, la opción
<literal>--configureoptions</literal> para
<literal>pecl install</literal> puede ser utilizada :
<programlisting role="shell">
<![CDATA[
$ sudo pecl install --configureoptions='with-mongodb-system-libs="yes" enable-mongodb-developer-flags="no"' mongodb
]]>
</programlisting>
</para>
<para>
Por omisión la instalación de la extensión via PECL utilizará las versiones incluidas de
<link xlink:href="&url.mongodb.libbson;">libbson</link>,
<link xlink:href="&url.mongodb.libmongoc;">libmongoc</link>, y
<link xlink:href="&url.mongodb.libmongocrypt;">libmongocrypt</link> y tratará automáticamente
de configurarlas.
</para>
<note>
<simpara>
Si el proceso de construcción falla al encontrar una biblioteca SSL, verifique que los
paquetes de desarrollo (por ejemplo <literal>libssl-dev</literal>) y
<link xlink:href="&url.mongodb.wiki.pkg-config;">pkg-config</link> están ambos
instalados. Si esto no resuelve el problema, considere utilizar el
proceso
<link linkend="mongodb.installation.manual">de instalación manual</link>.
</simpara>
</note>
<para>
Para finalizar, añada la siguiente línea al fichero &php.ini; para cada entorno
que necesitará utilizar la extensión:
<programlisting role="ini">
<![CDATA[
extension=mongodb.so
]]>
</programlisting>
</para>
</section>
<section xml:id="mongodb.installation.homebrew">
<title>Instalar la extensión de MongoDB PHP en macOS con Homebrew</title>
<para>
<link xlink:href="&url.brew.1.5.0;">Homebrew 1.5.0</link>
ha deprecado el <link xlink:href="&url.mac.homebrew;">tap Homebrew/php</link>
y ha eliminado las fórmulas para las extensiones PHP individuales. En el futuro, los usuarios
de macOS están invitados a instalar la fórmula
<link xlink:href="&url.brew.php;">php</link> y a seguir las instrucciones
<link linkend="mongodb.installation.pecl">de instalación estándar de PECL</link>
utilizando el comando <link linkend="install.pecl">pecl</link>
proporcionado por la instalación PHP Homebrew.
</para>
<para>
De lo contrario, el
<link xlink:href="https://github.com/shivammathur/homebrew-extensions">tap shivammathur/extensions</link>
proporciona fórmulas para las extensiones PHP individuales. Por ejemplo, para instalar
la extensión para PHP 8.4, ejecute:
<programlisting role="shell">
<![CDATA[
$ brew install shivammathur/extensions/mongodb@8.4
]]>
</programlisting>
Es de notar que solo la última versión de la extensión está disponible en brew.
</para>
<note>
<title>Instalar las dependencias requeridas</title>
<para>
Para garantizar que el soporte SSL puede ser configurado correctamente, asegúrese de que las
fórmulas <literal>openssl</literal> y <literal>pkgconf</literal> están
instaladas. Si alguno de estos paquetes falta, la extensión será compilada
con Secure Transport, lo que puede causar problemas de compatibilidad.
</para>
</note>
</section>
<section xml:id="mongodb.installation.windows">
<title>Instalar la extensión de MongoDB PHP en Windows</title>
<para>
Los binarios precompilados están adjuntos a las
<link xlink:href="&url.mongodb.github.new;/releases/">versiones Github</link>
del proyecto. Los archivos son publicados para diversas combinaciones de versión PHP,
seguridad de hilos (TS o NTS) y arquitectura (x86 o x64). Determine
el archivo correcto para el entorno PHP y extraiga el fichero
<filename>php_mongodb.dll</filename> en el directorio de extensión ("ext" por omisión).
</para>
<para>
Añada la siguiente línea al fichero &php.ini; para cada entorno que necesitará
utilizar la extensión:
<programlisting role="ini">
<![CDATA[
extension=php_mongodb.dll
]]>
</programlisting>
</para>
<para>
La falla en la selección del binario correcto resultará en un error al intentar
cargar la extensión DLL en la ejecución:
<programlisting role="txt">
<![CDATA[
PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb'
]]>
</programlisting>
</para>
<para>
Asegúrese de que la DLL descargada coincida con las siguientes propiedades de ejecución PHP:
<simplelist>
<member>Versión de PHP(<constant>PHP_VERSION</constant>)</member>
<member>Seguridad de hilos (<constant>PHP_ZTS</constant>)</member>
<member>Arquitectura (<constant>PHP_INT_SIZE</constant>)</member>
</simplelist>
</para>
<para>
Además de las constantes mencionadas anteriormente, estas propiedades también pueden ser
deducidas de <function>phpinfo</function>. Si un sistema tiene múltiples ejecuciones PHP
instaladas, verifique que la salida de <function>phpinfo</function> es para
el entorno correcto.
</para>
<note>
<title>Dependencias adicionales DLL para los usuarios de Windows</title>
<para>
&ext.windows.path.dll;
<filename>libsasl.dll</filename>
</para>
</note>
</section>
<section xml:id="mongodb.installation.manual">
<title>Instalación manual de la extensión de MongoDB PHP</title>
<para>
Para los desarrolladores y usuarios interesados en las últimas correcciones de errores,
la extensión puede ser compilada a partir del último código fuente en
<link xlink:href="&url.mongodb.github.new;">Github</link>. Ejecute los siguientes comandos
para clonar y construir el proyecto:
<programlisting role="shell">
<![CDATA[
$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submodule update --init
$ phpize
$ ./configure
$ make all
$ sudo make install
]]>
</programlisting>
</para>
<para>
En sistemas con múltiples versiones de PHP instaladas (por ejemplo, macOS por omisión,
Homebrew, <link xlink:href="&url.xampp;">XAMPP</link>), cada versión de PHP
tendrá su propio comando <link linkend="install.pecl.phpize">phpize</link>
y fichero &php.ini;. Además, cada entorno PHP (por ejemplo
CLI, web) puede utilizar ficheros &php.ini; separados.
</para>
<para>
Por omisión, la extensión utilizará las versiones incluidas de
<link xlink:href="&url.mongodb.libbson;">libbson</link>,
<link xlink:href="&url.mongodb.libmongoc;">libmongoc</link>, y
<link xlink:href="&url.mongodb.libmongocrypt;">libmongocrypt</link> y
tratará de configurarlas automáticamente. Si estas bibliotecas ya están
instaladas como bibliotecas del sistema, la extensión puede utilizarlas especificando
<literal>--with-mongodb-system-libs=yes</literal> como opción a
<literal>configure</literal>.
</para>
<para>
Para una lista completa de las opciones <literal>configure</literal>, ejecute
<command>configure --help</command>.
</para>
<para>
Cuando se utilizan las versiones agrupadas de libmongoc y libmongocrypt,
la extensión también tratará de seleccionar una biblioteca SSL según la opción de
<literal>configuración</literal> <literal>--with-mongodb-ssl</literal>.
A partir de la versión 1.17.0 de la extensión, OpenSSL es siempre preferido por omisión.
Anteriormente, Secure Transport era el valor por omisión en macOS y OpenSSL era el valor por omisión
en todas las otras plataformas.
</para>
<note>
<para>
Si el proceso de construcción falla al encontrar una biblioteca SSL, verifique que los
paquetes de desarrollo (por ejemplo <literal>libssl-dev</literal>) y
<link xlink:href="&url.mongodb.wiki.pkg-config;">pkg-config</link> están ambos
instalados.
</para>
<para>
Cuando se utiliza Homebrew en macOS, es común que un sistema tenga
múltiples versiones de OpenSSL instaladas. Para garantizar que la versión de OpenSSL
deseada es seleccionada, la variable de entorno <literal>PKG_CONFIG_PATH</literal>
puede ser utilizada para controlar la ruta de búsqueda de <literal>pkg-config</literal>.
</para>
</note>
<para>
El último paso de construcción, <command>make install</command>, indicará dónde
<filename>mongodb.so</filename> ha sido instalado, similar a:
<programlisting role="txt">
<![CDATA[
Installing shared extensions: /usr/lib/php/extensions/debug-non-zts-20220829/
]]>
</programlisting>
</para>
<para>
Asegúrese de que la opción <link linkend="ini.extension-dir">extension_dir</link>
en &php.ini; apunte al directorio donde <filename>mongodb.so</filename>
ha sido instalado. La opción puede ser consultada ejecutando:
<programlisting role="shell">
<![CDATA[
$ php -i | grep extension_dir
extension_dir => /usr/lib/php/extensions/debug-non-zts-20220829 =>
/usr/lib/php/extensions/debug-non-zts-20220829
]]>
</programlisting>
</para>
<para>
Si los directorios difieren, modifique
<link linkend="ini.extension-dir">extension_dir</link> en &php.ini; o
mueva manualmente <filename>mongodb.so</filename> al directorio correcto.
</para>
<para>
Para finalizar, añada la siguiente línea al fichero &php.ini; para cada entorno
que necesitará utilizar la extensión:
<programlisting role="ini">
<![CDATA[
extension=mongodb.so
]]>
</programlisting>
</para>
</section>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->