1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-23 22:52:18 +01:00
Files
archived-doc-fr/reference/mongodb/configure.xml

333 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 83286b1ab69b6857e0a4e5d321ff6f2fb75bc253 Maintainer: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<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>Installer l'extension de MongoDB PHP avec PIE</title>
&pecl.moving.to.pie;
<para>
Pour installer l'extension MongoDB avec PIE, exécutez la commande suivante :
<programlisting role="shell">
<![CDATA[
pie install mongodb/mongodb-extension
]]>
</programlisting>
</para>
</section>
<section xml:id="mongodb.installation.pecl">
<title>Installer l'extension de MongoDB PHP avec PECL</title>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;mongodb">&url.pecl.package;mongodb</link>
</para>
<para>
Linux, Unix et les utilisateurs de macOS peuvent exécuter la commande suivante pour
installer l'extension :
<programlisting role="shell">
<![CDATA[
$ sudo pecl install mongodb
]]>
</programlisting>
</para>
<para>
Sur les systèmes avec plusieurs versions de PHP installées (par exemple, macOS par défaut,
Homebrew, <link xlink:href="&url.xampp;">XAMPP</link>), chaque version de PHP
aura sa propre commande <link linkend="install.pecl">pecl</link>
et fichier &php.ini;. De plus, chaque environnement PHP (par exemple
CLI, web) peut utiliser des fichiers &php.ini; séparés.
</para>
<para>
Depuis la version 1.17.0 de l'extension, PECL demandera diverses options de
<literal>configurations</literal>. Pour installer l'extension avec les options par défaut
dans un script non interactif, une entrée vide peut être envoyée à
<literal>pecl install</literal> en utilisant la commande <literal>yes</literal> :
<programlisting role="shell">
<![CDATA[
$ yes '' | sudo pecl install mongodb
]]>
</programlisting>
</para>
<para>
Une liste complète des options <literal>configure</literal> supportées peut être
trouvée dans le fichier <literal>package.xml</literal> inclus dans le paquet PECL.
Pour installer l'extension avec des options de <literal>configurations</literal> spécifiques
dans un script non interactif, l'option
<literal>--configureoptions</literal> pour
<literal>pecl install</literal> peut être utilisée :
<programlisting role="shell">
<![CDATA[
$ sudo pecl install --configureoptions='with-mongodb-system-libs="yes" enable-mongodb-developer-flags="no"' mongodb
]]>
</programlisting>
</para>
<para>
Par défaut l'installation de l'extension via PECL utilisera les versions incluses de
<link xlink:href="&url.mongodb.libbson;">libbson</link>,
<link xlink:href="&url.mongodb.libmongoc;">libmongoc</link>, et
<link xlink:href="&url.mongodb.libmongocrypt;">libmongocrypt</link> et essayera automatiquement
de configurer.
</para>
<note>
<simpara>
Si le processus de construction échoue à trouver une bibliothèque SSL, vérifiez que les
paquets de développement (par exemple <literal>libssl-dev</literal>) et
<link xlink:href="&url.mongodb.wiki.pkg-config;">pkg-config</link> sont tous deux
installés. Si cela ne résout pas le problème, envisagez d'utiliser le
processus
<link linkend="mongodb.installation.manual">d'installation manuel</link>.
</simpara>
</note>
<para>
Pour finir, ajoutez la ligne suivante au fichier &php.ini; pour chaque environnement
qui aura besoin d'utiliser l'extension :
<programlisting role="ini">
<![CDATA[
extension=mongodb.so
]]>
</programlisting>
</para>
</section>
<section xml:id="mongodb.installation.homebrew">
<title>Installer l'extension de MongoDB PHP sur macOS avec Homebrew</title>
<para>
<link xlink:href="&url.brew.1.5.0;">Homebrew 1.5.0</link>
a déprécié le <link xlink:href="&url.mac.homebrew;">tap Homebrew/php</link>
et a supprimé les formules pour les extensions PHP individuelles. À l'avenir, les utilisateurs
de macOS sont invités à installer la formule
<link xlink:href="&url.brew.php;">php</link> et à suivre les instructions
<link linkend="mongodb.installation.pecl">d'installation standard de PECL</link>
en utilisant la commande <link linkend="install.pecl">pecl</link>
fournie par l'installation PHP Homebrew.
</para>
<para>
Sinon, le
<link xlink:href="https://github.com/shivammathur/homebrew-extensions">tap shivammathur/extensions</link>
fourni des formules pour les extensions PHP individuelles. Par exemple, pour installer
l'extension pour PHP 8.4, exécutez :
<programlisting role="shell">
<![CDATA[
$ brew install shivammathur/extensions/mongodb@8.4
]]>
</programlisting>
Il est a noter que seule la dernière version de l'extension est disponible dans brew.
</para>
<note>
<title>Installer les dépendances requises</title>
<para>
Pour garantir que le support SSL peut être configuré correctement, il faut s'assurer que les
formules <literal>openssl</literal> et <literal>pkgconf</literal> sont
installées. Si l'un de ces paquets est manquant, l'extension sera compilée
avec Secure Transport, ce qui peut entraîner des problèmes de compatibilité.
</para>
</note>
</section>
<section xml:id="mongodb.installation.windows">
<title>Installer l'extension de MongoDB PHP sur Windows</title>
<para>
Les binaires précompilés sont attachés aux
<link xlink:href="&url.mongodb.github.new;/releases/">versions Github</link>
du projet. Les archives sont publiées pour diverses combinaisons de version PHP,
de sécurité des threads (TS ou NTS) et d'architecture (x86 ou x64). Déterminez
l'archive correcte pour l'environnement PHP et extrayez le fichier
<filename>php_mongodb.dll</filename> dans le répertoire d'extension ("ext" par défaut).
</para>
<para>
Ajouter la ligne suivante au fichier &php.ini; pour chaque environnement qui aura
besoin d'utiliser l'extension :
<programlisting role="ini">
<![CDATA[
extension=php_mongodb.dll
]]>
</programlisting>
</para>
<para>
L'échec de sélection du binaire correct entraînera une erreur lors de la tentative
de chargement de l'extension DLL à l'exécution :
<programlisting role="txt">
<![CDATA[
PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb'
]]>
</programlisting>
</para>
<para>
Il faut s'assurer que la DLL téléchargée correspond aux propriétés d'exécution PHP
suivantes :
<simplelist>
<member>Version de PHP(<constant>PHP_VERSION</constant>)</member>
<member>Sécurité des threads (<constant>PHP_ZTS</constant>)</member>
<member>Architecture (<constant>PHP_INT_SIZE</constant>)</member>
</simplelist>
</para>
<para>
En plus des constantes mentionnées ci-dessus, ces propriétés peuvent également être
déduites de <function>phpinfo</function>. Si un système a plusieurs exécutions PHP
installées, vérifiez que la sortie de <function>phpinfo</function> est pour
l'environnement correct.
</para>
<note>
<title>Dépendances additionnelles DLL pour les utilisateurs Windows</title>
<para>
&ext.windows.path.dll;
<filename>libsasl.dll</filename>
</para>
</note>
</section>
<section xml:id="mongodb.installation.manual">
<title>Installation manuelle de l'extension de MongoDB PHP</title>
<para>
Pour les développeurs et les utilisateurs intéressés par les dernières corrections de bogues,
l'extension peut être compilée à partir du dernier code source sur
<link xlink:href="&url.mongodb.github.new;">Github</link>. Exécuter les commandes suivantes
pour cloner et construire le projet :
<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>
Sur les systèmes avec plusieurs versions de PHP installées (par exemple, macOS par défaut,
Homebrew, <link xlink:href="&url.xampp;">XAMPP</link>), chaque version de PHP
aura sa propre commande <link linkend="install.pecl.phpize">phpize</link>
et fichier &php.ini;. De plus, chaque environnement PHP (par exemple
CLI, web) peut utiliser des fichiers &php.ini; séparés.
</para>
<para>
Par défaut, l'extension utilisera les versions incluses de
<link xlink:href="&url.mongodb.libbson;">libbson</link>,
<link xlink:href="&url.mongodb.libmongoc;">libmongoc</link>, et
<link xlink:href="&url.mongodb.libmongocrypt;">libmongocrypt</link> et
essayera de configurer automatiquement. Si ces bibliothèques sont déjà
installées en tant que bibliothèques système, l'extension peut les utiliser en
spécifiant <literal>--with-mongodb-system-libs=yes</literal> comme option à
<literal>configure</literal>.
</para>
<para>
Pour une liste complète des options <literal>configure</literal>, exécutez
<command>configure --help</command>.
</para>
<para>
Lorsqu'on utilise les versions groupées de libmongoc et libmongocrypt,
l'extension tentera également de sélectionner une bibliothèque SSL selon
l'option de <literal>configuration</literal> <literal>--with-mongodb-ssl</literal>.
À partir de la version 1.17.0 de l'extension, OpenSSL est toujours préféré par défaut.
Auparavant, Secure Transport était le défaut sur macOS et OpenSSL était le défaut
sur toutes les autres plates-formes.
</para>
<note>
<para>
Si le processus de construction échoue à trouver une bibliothèque SSL, vérifiez que les
paquets de développement (par exemple <literal>libssl-dev</literal>) et
<link xlink:href="&url.mongodb.wiki.pkg-config;">pkg-config</link> sont tous deux
installés.
</para>
<para>
Lorsqu'on utilise Homebrew sur macOS, il est courant qu'un système ait
plusieurs versions d'OpenSSL installées. Pour garantir que la version d'OpenSSL
souhaitée est sélectionnée, la variable d'environnement <literal>PKG_CONFIG_PATH</literal>
peut être utilisée pour contrôler le chemin de recherche de <literal>pkg-config</literal>.
</para>
</note>
<para>
La dernière étape de construction, <command>make install</command>, indiquera où
<filename>mongodb.so</filename> a été installé, similaire à :
<programlisting role="txt">
<![CDATA[
Installing shared extensions: /usr/lib/php/extensions/debug-non-zts-20220829/
]]>
</programlisting>
</para>
<para>
Il faut s'assurer que l'option <link linkend="ini.extension-dir">extension_dir</link>
dans &php.ini; pointe vers le répertoire où <filename>mongodb.so</filename>
a été installé. L'option peut être interrogée en exécutant :
<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 les répertoires diffèrent, modifiez
<link linkend="ini.extension-dir">extension_dir</link> dans &php.ini; ou
déplacez manuellement <filename>mongodb.so</filename> dans le répertoire correct.
</para>
<para>
Pour finir, ajoutez la ligne suivante au fichier &php.ini; pour chaque environnement
qui aura besoin d'utiliser l'extension :
<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
-->