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 » Github. Exécutez les commandes suivantes pour cloner et construire le projet :
$ 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
Sur les systèmes avec plusieurs versions de PHP installées (par exemple, macOS par défaut, Homebrew, » XAMPP), chaque version de PHP aura sa propre commande phpize et fichier php.ini. De plus, chaque environnement PHP (par exemple CLI, web) peut utiliser des fichiers php.ini séparés.
Par défaut, l'extension utilisera les versions incluses de
» libbson,
» libmongoc, et
» libmongocrypt et
essayera de les 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 --with-mongodb-system-libs=yes
comme option à
configure
.
Pour une liste complète des options configure
, exécutez
configure --help.
Lorsque vous utilisez les versions groupées de libmongoc et libmongocrypt,
l'extension tentera également de sélectionner une bibliothèque SSL selon
l'option de configuration
--with-mongodb-ssl
.
À 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.
Note:
Si le processus de construction échoue à trouver une bibliothèque SSL, vérifiez que les paquets de développement (par exemple
libssl-dev
) et » pkg-config sont tous deux installés.Lorsque vous utilisez 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
PKG_CONFIG_PATH
peut être utilisée pour contrôler le chemin de recherche depkg-config
.
La dernière étape de construction, make install, indiquera où mongodb.so a été installé, similaire à :
Installing shared extensions: /usr/lib/php/extensions/debug-non-zts-20220829/
Assurez-vous que l'option extension_dir dans php.ini pointe vers le répertoire où mongodb.so a été installé. L'option peut être interrogée en exécutant :
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/debug-non-zts-20220829 => /usr/lib/php/extensions/debug-non-zts-20220829
Si les répertoires diffèrent, modifiez extension_dir dans php.ini ou déplacez manuellement mongodb.so dans le répertoire correct.
Pour finir, ajoutez la ligne suivante au fichier php.ini pour chaque environnement qui aura besoin d'utiliser l'extension :
extension=mongodb.so