Instalarea driver-ului PHP MongoDB cu PECL
Informație despre instalarea acestei extensii PECL poate
fi găsită în capitolul manualului, întitulat
Instalarea extensiilor PECL. Informații adiționale, cum ar fi
lansări noi, descărcări, fișiere-sursă, informații despre persoana care
întreține extensia și istoria schimbărilor poate fi localizată aici:
» https://pecl.php.net/package/mongodb
Utilizatorii Linux, Unix și macOS pot rula următoarea comandă pentru a instala
driver-ul:
$ sudo pecl install mongodb
Dacă sistemul dumneavoastră are instalate multiple versiuni PHP (de ex. macOS
implicit, Homebrew, » XAMPP), atrageți
atenția că fiecare versiune PHP își are propria comandă
pecl și fișier php.ini.
Instalarea driver-ului cu ajutorul PECL va utiliza versiunile încorporate ale
bibliotecilor » libbson și
» libmongoc și va încerca
configurarea lor automată.
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. Dacă aceasta nu soluționează problema, considerați procesul de
instalare manuală.
În final, adăugați următoarea linie în fișierul php.ini:
mohammadhoseinmazalahi at gmail dot com ¶4 years ago
As of Ubuntu 20.04, php-mongodb in the database is outdated and you'll need the PECL method to install latest version of MongoDB.
To do this in Ubuntu, you'll need the php-pear plugin and php-dev:
sudo apt install php-dev php-pear
then you can run:
sudo pecl install mongodb
contact ? automatix : info ¶8 years ago
An additional requirement might be pkg-config (on Ubuntu 14.04).
$ pecl install mongodb
...
configure: error: Cannot find OpenSSL's libraries
ERROR: `/tmp/pear/temp/mongodb/configure --with-php-config=/usr/bin/php-config' failed
But:
$ apt-get install pkg-config
...
Setting up pkg-config (0.26-1ubuntu4) ...
$ pecl install mongodb
...
Build process completed successfully
Installing '/usr/lib/php/20151012/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.1.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini
asologor at gmail dot com ¶7 years ago
On Ubuntu you can just do:
sudo apt-get install php-mongodb
or the same for specific PHP version:
sudo apt-get install php5.6-mongo
or
sudo apt-get install php7.0-mongodb
rafael_xuvisco at yahoo dot com dot br ¶8 years ago
Ubuntu 16.04
sudo apt-get install libcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev
sudo pecl install mongodb
add extension=mongodb.so in fpm and cli:
sudo vim /etc/php/7.0/fpm/conf.d/30-mongodb.ini
sudo vim /etc/php/7.0/cli/conf.d/30-mongodb.ini
Restart service:
sudo systemctl restart php7.0-fpm
sudo systemctl reload nginx
Tim Greiser ¶8 years ago
[Editor's note: fixed typo]
There are some additional requirements you need to build the pecl package.
sudo apt-get install libcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev
Anonymous ¶8 years ago
I got an error "fatal error: pcre.h: No such file or directory" and had to also had to install another dependency
sudo apt-get install libpcre3-dev
Unmesh ¶7 years ago
The following steps worked for me on Centos7
sudo yum install -y openssl-devel
sudo yum install pecl
sudo yum install gcc
sudo pecl install mongodb
maneesh dot singh at hof-university dot com ¶7 years ago
Hi,
I am looking into installation of php mongo db driver.
I have checked with phpinfo it shows mongodb module have been loaded but when I use in my code it give error "Fatal error: Uncaught Error: Class 'MongoDB' not found "
i have another module for redis and it works perfectly . Initially I was getting same error but phpinfo was showing module is not loaded .
I guess there is some problem with driver. I have tried all the documents and website links which mention to include extenstion=mongodb.so which i have already done.
I am using open suse 42.2 leap with apache server.
Could you please investigate this issue.
If you need more info please let me know.
Thanks
Maneeshg
ovidius at email dot it ¶7 years ago
after installed and added extension=mongodb to php.ini, when i run php -v i get this error:
bus error php -v
what could it be? the build process completed successfully.