我跑了:composer require mongodb/mongodb
.但它给了我以下错误:
有错误:
- mongodb/mongodb 1.0.1 requires ext-mongodb ^1.1.0 -> the requested PHP extension mongodb is missing from your system. - mongodb/mongodb 1.0.0 requires ext-mongodb ^1.1.0 -> the requested PHP extension mongodb is missing from your system. - Installation request for mongodb/mongodb ^1.0 -> satisfiable by mongodb/mongodb[1.0.0, 1.0.1].
我试过:composer show -p
然后它给了我:
......
ext-iconv 0 The iconv PHP extension
ext-mcrypt 0 The mcrypt PHP extension
ext-mhash 0 The mhash PHP extension
ext-mongo 1.6.12 The mongo PHP extension
ext-mysql 1.0 The mysql PHP extension
ext-mysqli 0.1 The mysqli PHP extension
......
为什么我会收到错误?
php -m
.....
libxml
mbstring
mcrypt
mhash
mongo
mysql
mysqli
openssl
pcntl
pcre
PDO
.....
我正在使用 ubuntu 14.04 LTS
- 安装 php 驱动程序
$ sudo pecl install mongodb
- 创建扩展文件
$ sudo nano /etc/php/*version*/mods-available/mongodb.ini
并写入内部:extension=mongodb.so - 为此文件创建符号链接
$ sudo ln -sv /etc/php/*version*/mods-available/mongodb.ini /etc/php/*version*/apache2/conf.d/20-mongodb.ini
- 为此文件创建另一个符号链接
$ sudo ln -sv /etc/php/*version*/mods-available/mongodb.ini /etc/php/*version*/cli/conf.d/20-mongodb.ini
- 重新启动 apache 或
$ sudo service apache2 restart
使用的服务器
可能需要重新安装 jenssegers/mongodb: $ composer require jenssegers/mongodb
为了快速简便,只需执行以下操作:
-
sudo pecl install mongodb
-
sudo nano /etc/php5/apache2/php.ini
,添加(在底部或任何位置):
; mongodb
extension=mongodb.so
-
sudo nano /etc/php5/cli/php.ini
,添加(在底部或任何位置):
; mongodb
extension=mongodb.so
- 重新启动网络服务器以获得良好的措施(对于 CLI 不是必需的):
sudo service apache2 restart
我正在运行:
sudo apt-get install libpcre3-dev
然后:
pecl install mongodb
并添加:extension=mongodb.so
底线cli/php.ini