<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mongodb.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'mongodb.installation.php',
    1 => 'Installation',
    2 => 'Installation',
  ),
  'up' => 
  array (
    0 => 'mongodb.setup.php',
    1 => 'Installation/Configuration',
  ),
  'prev' => 
  array (
    0 => 'mongodb.requirements.php',
    1 => 'Pr&eacute;-requis',
  ),
  'next' => 
  array (
    0 => 'mongodb.configuration.php',
    1 => 'Configuration &agrave; l\'ex&eacute;cution',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/mongodb/configure.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mongodb.installation" class="section">
 <h2 class="title">Installation</h2>

 <div class="section" id="mongodb.installation.pie">
  <h2 class="title">Installer l&#039;extension de MongoDB PHP avec PIE</h2>

   <blockquote class="note"><p><strong class="note">Note</strong>: 
 <span class="simpara">
  L&#039;installeur d&#039;Extensions pour PHP (PHP Installer for Extensions - <abbr>PIE</abbr>) est un nouvel outil qui remplacera PECL.
  Nous recommandons d&#039;utiliser PIE pour installer les extensions.
  Plus d&#039;informations sur <a href="https://github.com/php/pie" class="link external">&raquo;&nbsp;https://github.com/php/pie</a>
 </span>
</p></blockquote>

   <p class="para">
    Pour installer l&#039;extension MongoDB avec PIE, exécutez la commande suivante :
    <div class="example-contents">
<div class="shellcode"><pre class="shellcode">pie install mongodb/mongodb-extension</pre>
</div>
    </div>

   </p>

 </div>


 <div class="section" id="mongodb.installation.pecl">
  <h2 class="title">Installer l&#039;extension de MongoDB PHP avec PECL</h2>

  <p class="para">
   Des informations sur l&#039;installation de ces extensions PECL
        peuvent être trouvées dans le chapitre du manuel intitulé <a href="install.pecl.php" class="link">Installation
des extensions PECL</a>. D&#039;autres informations comme les notes sur les nouvelles
        versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs
        ainsi qu&#039;un CHANGELOG, peuvent être trouvées ici :
   <a href="https://pecl.php.net/package/mongodb" class="link external">&raquo;&nbsp;https://pecl.php.net/package/mongodb</a>
  </p>

  <p class="para">
   Linux, Unix et les utilisateurs de macOS peuvent exécuter la commande suivante pour
   installer l&#039;extension :
   <div class="example-contents">
<div class="shellcode"><pre class="shellcode">$ sudo pecl install mongodb</pre>
</div>
   </div>

  </p>

  <p class="para">
   Sur les systèmes avec plusieurs versions de PHP installées (par exemple, macOS par défaut,
   Homebrew, <a href="https://www.apachefriends.org/" class="link external">&raquo;&nbsp;XAMPP</a>), chaque version de PHP
   aura sa propre commande <a href="install.pecl.php" class="link">pecl</a>
   et fichier <var class="filename">php.ini</var>. De plus, chaque environnement PHP (par exemple
   CLI, web) peut utiliser des fichiers <var class="filename">php.ini</var> séparés.
  </p>

  <p class="para">
   Depuis la version 1.17.0 de l&#039;extension, PECL demandera diverses options de
   <code class="literal">configurations</code>. Pour installer l&#039;extension avec les options par défaut
   dans un script non interactif, une entrée vide peut être envoyée à
   <code class="literal">pecl install</code> en utilisant la commande <code class="literal">yes</code> :
   <div class="example-contents">
<div class="shellcode"><pre class="shellcode">$ yes &#039;&#039; | sudo pecl install mongodb</pre>
</div>
   </div>

  </p>

  <p class="para">
   Une liste complète des options <code class="literal">configure</code> supportées peut être
   trouvée dans le fichier <code class="literal">package.xml</code> inclus dans le paquet PECL.
   Pour installer l&#039;extension avec des options de <code class="literal">configurations</code> spécifiques
   dans un script non interactif, l&#039;option
   <code class="literal">--configureoptions</code> pour
   <code class="literal">pecl install</code> peut être utilisée :
   <div class="example-contents">
<div class="shellcode"><pre class="shellcode">$ sudo pecl install --configureoptions=&#039;with-mongodb-system-libs=&quot;yes&quot; enable-mongodb-developer-flags=&quot;no&quot;&#039; mongodb</pre>
</div>
   </div>

  </p>

  <p class="para">
   Par défaut l&#039;installation de l&#039;extension via PECL utilisera les versions incluses de
   <a href="https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson" class="link external">&raquo;&nbsp;libbson</a>,
   <a href="https://github.com/mongodb/mongo-c-driver" class="link external">&raquo;&nbsp;libmongoc</a>, et
   <a href="https://github.com/mongodb/libmongocrypt" class="link external">&raquo;&nbsp;libmongocrypt</a> et essayera automatiquement
   de configurer.
  </p>

  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    Si le processus de construction échoue à trouver une bibliothèque SSL, vérifiez que les
    paquets de développement (par exemple <code class="literal">libssl-dev</code>) et
    <a href="https://en.wikipedia.org/wiki/Pkg-config" class="link external">&raquo;&nbsp;pkg-config</a> sont tous deux
    installés. Si cela ne résout pas le problème, envisagez d&#039;utiliser le
    processus
    <a href="mongodb.installation.php#mongodb.installation.manual" class="link">d&#039;installation manuel</a>.
   </span>
  </p></blockquote>

  <p class="para">
   Pour finir, ajoutez la ligne suivante au fichier <var class="filename">php.ini</var> pour chaque environnement
   qui aura besoin d&#039;utiliser l&#039;extension :
   <div class="example-contents">
<div class="inicode"><pre class="inicode">extension=mongodb.so</pre>
</div>
   </div>

  </p>
 </div>

 <div class="section" id="mongodb.installation.homebrew">
  <h2 class="title">Installer l&#039;extension de MongoDB PHP sur macOS avec Homebrew</h2>

  <p class="para">
   <a href="https://brew.sh/2018/01/19/homebrew-1.5.0/" class="link external">&raquo;&nbsp;Homebrew 1.5.0</a>
   a déprécié le <a href="https://github.com/Homebrew/brew" class="link external">&raquo;&nbsp;tap Homebrew/php</a>
   et a supprimé les formules pour les extensions PHP individuelles. À l&#039;avenir, les utilisateurs
   de macOS sont invités à installer la formule
   <a href="https://formulae.brew.sh/formula/php" class="link external">&raquo;&nbsp;php</a> et à suivre les instructions
   <a href="mongodb.installation.php#mongodb.installation.pecl" class="link">d&#039;installation standard de PECL</a>
   en utilisant la commande <a href="install.pecl.php" class="link">pecl</a>
   fournie par l&#039;installation PHP Homebrew.
  </p>
  <p class="para">
   Sinon, le
   <a href="https://github.com/shivammathur/homebrew-extensions" class="link external">&raquo;&nbsp;tap shivammathur/extensions</a>
   fourni des formules pour les extensions PHP individuelles. Par exemple, pour installer
   l&#039;extension pour PHP 8.4, exécutez :
   <div class="example-contents">
<div class="shellcode"><pre class="shellcode">$ brew install shivammathur/extensions/mongodb@8.4</pre>
</div>
   </div>

   Il est a noter que seule la dernière version de l&#039;extension est disponible dans brew.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <strong>Installer les dépendances requises</strong><br />
   <p class="para">
    Pour garantir que le support SSL peut être configuré correctement, il faut s&#039;assurer que les
    formules <code class="literal">openssl</code> et <code class="literal">pkgconf</code> sont
    installées. Si l&#039;un de ces paquets est manquant, l&#039;extension sera compilée
    avec Secure Transport, ce qui peut entraîner des problèmes de compatibilité.
   </p>
  </p></blockquote>
 </div>

 <div class="section" id="mongodb.installation.windows">
  <h2 class="title">Installer l&#039;extension de MongoDB PHP sur Windows</h2>

  <p class="para">
   Les binaires précompilés sont attachés aux
   <a href="https://github.com/mongodb/mongo-php-driver/releases/" class="link external">&raquo;&nbsp;versions Github</a>
   du projet. Les archives sont publiées pour diverses combinaisons de version PHP,
   de sécurité des threads (TS ou NTS) et d&#039;architecture (x86 ou x64). Déterminez
   l&#039;archive correcte pour l&#039;environnement PHP et extrayez le fichier
   <var class="filename">php_mongodb.dll</var> dans le répertoire d&#039;extension (&quot;ext&quot; par défaut).
  </p>

  <p class="para">
   Ajouter la ligne suivante au fichier <var class="filename">php.ini</var> pour chaque environnement qui aura
   besoin d&#039;utiliser l&#039;extension :
   <div class="example-contents">
<div class="inicode"><pre class="inicode">extension=php_mongodb.dll</pre>
</div>
   </div>

  </p>

  <p class="para">
   L&#039;échec de sélection du binaire correct entraînera une erreur lors de la tentative
   de chargement de l&#039;extension DLL à l&#039;exécution :
   <div class="example-contents">
<div class="txtcode"><pre class="txtcode">PHP Warning:  PHP Startup: Unable to load dynamic library &#039;mongodb&#039;</pre>
</div>
   </div>

  </p>

  <p class="para">
   Il faut s&#039;assurer que la DLL téléchargée correspond aux propriétés d&#039;exécution PHP
   suivantes :
   <ul class="simplelist">
    <li>Version de PHP(<strong><code><a href="reserved.constants.php#constant.php-version">PHP_VERSION</a></code></strong>)</li>
    <li>Sécurité des threads (<strong><code><a href="reserved.constants.php#constant.php-zts">PHP_ZTS</a></code></strong>)</li>
    <li>Architecture (<strong><code><a href="reserved.constants.php#constant.php-int-size">PHP_INT_SIZE</a></code></strong>)</li>
   </ul>
  </p>

  <p class="para">
   En plus des constantes mentionnées ci-dessus, ces propriétés peuvent également être
   déduites de <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>. Si un système a plusieurs exécutions PHP
   installées, vérifiez que la sortie de <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> est pour
   l&#039;environnement correct.
  </p>

  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <strong>Dépendances additionnelles DLL pour les utilisateurs Windows</strong><br />
   <p class="para">
    Afin de faire fonctionner cette extension, quelques bibliothèques
<abbr title="Dynamic Link Library">DLL</abbr> doivent être disponibles via le
<var class="envar">PATH</var> du système Windows. Lisez la
<abbr>F.A.Q</abbr> intitulée
&quot;<a href="faq.installation.php#faq.installation.addtopath" class="link">Comment ajouter mon dossier
PHP à mon PATH Windows</a>&quot; pour plus d&#039;informations. Le fait de copier les bibliothèques DLL depuis le
dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le
<var class="envar">PATH</var> système), mais cette méthode n&#039;est pas recommandée.
<em>Cette extension nécessite que les fichiers suivants se trouvent dans le
<var class="envar">PATH</var> :</em> 
    <var class="filename">libsasl.dll</var>
   </p>
  </p></blockquote>
 </div>

 <div class="section" id="mongodb.installation.manual">
  <h2 class="title">Installation manuelle de l&#039;extension de MongoDB PHP</h2>

  <p class="para">
   Pour les développeurs et les utilisateurs intéressés par les dernières corrections de bogues,
   l&#039;extension peut être compilée à partir du dernier code source sur
   <a href="https://github.com/mongodb/mongo-php-driver" class="link external">&raquo;&nbsp;Github</a>. Exécuter les commandes suivantes
   pour cloner et construire le projet :
   <div class="example-contents">
<div class="shellcode"><pre class="shellcode">$ 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</pre>
</div>
   </div>

  </p>

  <p class="para">
   Sur les systèmes avec plusieurs versions de PHP installées (par exemple, macOS par défaut,
   Homebrew, <a href="https://www.apachefriends.org/" class="link external">&raquo;&nbsp;XAMPP</a>), chaque version de PHP
   aura sa propre commande <a href="install.pecl.phpize.php" class="link">phpize</a>
   et fichier <var class="filename">php.ini</var>. De plus, chaque environnement PHP (par exemple
   CLI, web) peut utiliser des fichiers <var class="filename">php.ini</var> séparés.
   </p>

  <p class="para">
   Par défaut, l&#039;extension utilisera les versions incluses de
   <a href="https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson" class="link external">&raquo;&nbsp;libbson</a>,
   <a href="https://github.com/mongodb/mongo-c-driver" class="link external">&raquo;&nbsp;libmongoc</a>, et
   <a href="https://github.com/mongodb/libmongocrypt" class="link external">&raquo;&nbsp;libmongocrypt</a> et
   essayera de configurer automatiquement. Si ces bibliothèques sont déjà
   installées en tant que bibliothèques système, l&#039;extension peut les utiliser en
   spécifiant <code class="literal">--with-mongodb-system-libs=yes</code> comme option à
   <code class="literal">configure</code>.
  </p>

  <p class="para">
   Pour une liste complète des options <code class="literal">configure</code>, exécutez
   <strong class="command">configure --help</strong>.
  </p>

  <p class="para">
   Lorsqu&#039;on utilise les versions groupées de libmongoc et libmongocrypt,
   l&#039;extension tentera également de sélectionner une bibliothèque SSL selon
   l&#039;option de <code class="literal">configuration</code> <code class="literal">--with-mongodb-ssl</code>.
   À partir de la version 1.17.0 de l&#039;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.
  </p>

  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Si le processus de construction échoue à trouver une bibliothèque SSL, vérifiez que les
    paquets de développement (par exemple <code class="literal">libssl-dev</code>) et
    <a href="https://en.wikipedia.org/wiki/Pkg-config" class="link external">&raquo;&nbsp;pkg-config</a> sont tous deux
    installés.
   </p>

   <p class="para">
    Lorsqu&#039;on utilise Homebrew sur macOS, il est courant qu&#039;un système ait
    plusieurs versions d&#039;OpenSSL installées. Pour garantir que la version d&#039;OpenSSL
    souhaitée est sélectionnée, la variable d&#039;environnement <code class="literal">PKG_CONFIG_PATH</code>
    peut être utilisée pour contrôler le chemin de recherche de <code class="literal">pkg-config</code>.
  </p>
  </p></blockquote>

  <p class="para">
   La dernière étape de construction, <strong class="command">make install</strong>, indiquera où
   <var class="filename">mongodb.so</var> a été installé, similaire à :
   <div class="example-contents">
<div class="txtcode"><pre class="txtcode">Installing shared extensions:     /usr/lib/php/extensions/debug-non-zts-20220829/</pre>
</div>
   </div>

  </p>

  <p class="para">
   Il faut s&#039;assurer que l&#039;option <a href="ini.core.php#ini.extension-dir" class="link">extension_dir</a>
   dans <var class="filename">php.ini</var> pointe vers le répertoire où <var class="filename">mongodb.so</var>
   a été installé. L&#039;option peut être interrogée en exécutant :
   <div class="example-contents">
<div class="shellcode"><pre class="shellcode">$ php -i | grep extension_dir
  extension_dir =&gt; /usr/lib/php/extensions/debug-non-zts-20220829 =&gt;
                   /usr/lib/php/extensions/debug-non-zts-20220829</pre>
</div>
   </div>

  </p>

  <p class="para">
   Si les répertoires diffèrent, modifiez
   <a href="ini.core.php#ini.extension-dir" class="link">extension_dir</a> dans <var class="filename">php.ini</var> ou
   déplacez manuellement <var class="filename">mongodb.so</var> dans le répertoire correct.
  </p>

  <p class="para">
   Pour finir, ajoutez la ligne suivante au fichier <var class="filename">php.ini</var> pour chaque environnement
   qui aura besoin d&#039;utiliser l&#039;extension :
   <div class="example-contents">
<div class="inicode"><pre class="inicode">extension=mongodb.so</pre>
</div>
   </div>

  </p>
 </div>

</div><?php manual_footer($setup); ?>