Dezvoltatorii de drivere și persoanele interesate de ultimele bugfix-uri pot compila driver-ul din cel mai recent cod-sursă de pe » Github. Rulați următoarele comenzi pentru a clona și a asambla proiectul:
$ 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
Dacă sistemul dumneavoastră are instalate versiuni PHP multiple (de ex. macOS implicit și » XAMPP), atrageți atenția că fiecare versiune PHP are propria comandă phpize și fișierul php.ini.
Implicit driver-ul va folosi versiunile încorporate ale
» libbson,
» libmongoc și
» libmongocrypt și va
încerca să le configureze. Dacă aceste biblioteci sunt deja instalate ca
biblioteci de sistem, puteți instrui driver-ul să le utilizeze specificând
--with-libbson=yes --with--libmongoc=yes
ca argumente pentru
configure
. Începând cu versiunea 1.7.0 a extensiei, aceste
argumente sunt învechite și ar trebui să utilizați în loc
--with-mongodb-system-libs=yes
.
Pentru a obține o listă completă a opțiunilor configure
,
executați configure --help.
La utilizarea versiunilor încorporate ale biliotecilor libbson și libmongoc,
driver-ul de asemenea va încerca să selecteze o bibliotecă SSL în conformitate
cu opțiunea --with-mongodb-ssl
pentru
configure
. Valoarea implicită este
--with-mongodb-ssl=auto
, ce va face să fie căutată Secure
Transport (doar pe macOS), OpenSSL și LibreSSL în această ordine. În plus,
puteți specifica openssl
, libressl
sau
darwin
pentru a forța selectarea respectivă a unei anumite
biblioteci.
Notă:
Dacă procesul de asamblare nu găsește o bibliotecă SSL verificați dacă pachetele de dezvoltare (de ex.
libssl-dev
) și » pkg-config sunt instalate.La utilizarea Homebrew pe macOS, este un lucru obișnuit ca un sistem să aibă instalate multiple versiuni OpenSSL. Pentru a vă asigura că este selectată versiunea dorită OpenSSL, variabila de mediu
PKG_CONFIG_PATH
poate fi folosită pentru a controla calea de căutare pentrupkg-config
. Dacăpkg-config
nu este utilizat,configure
de asemenea susține un argument--with-openssl-dir=DIR
, care poate fi utilizat pentru a specifica manual calea de căutare (doar pentru OpenSSL).
Etapa finală a asamblării, make install, va raporta unde a fost instalată mongodb.so, similar cu:
Installing shared extensions: /usr/lib/php/extensions/debug-non-zts-20151012/
Asigurați-vă că opțiunea extension_dir din php.ini indică către directorul unde mongodb.so a fost instalat. Puteți afla valoarea opțiunii cu următoarea comandă:
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/debug-non-zts-20151012 => /usr/lib/php/extensions/debug-non-zts-20151012
Dacă directoarele diferă schimbați extension_dir din php.ini sau deplasați manual mongodb.so în directorul corect.
În final, adăugați următoarea linie în fișierul php.ini:
extension=mongodb.so