MongoDB php7驱动安装

时间:2017-02-17 06:59:20

标签: mongodb apache2 composer-php ubuntu-16.04 pecl

我正在使用Ubuntu 16服务器而且我似乎无法使用php 7的mongodb驱动程序工作。我在我的Windows机器上的xampp上成功安装了它,但是Ubuntu和php7似乎有很大的不同。

我确实尝试通过pecl install mongodb安装它,并使用composer来放入依赖项,但它仍然不起作用。我在Windows Xampp中使用相同的php文件,当我访问该页面时,它会抛出500状态代码。

有人可以提供有关如何安装此驱动程序的明确演练,也可能还有如何恢复使用composer和pecl进行的任何更改?

1 个答案:

答案 0 :(得分:1)

即使我尝试使用pecl也很酷,但没有按预期工作。它适用于pecl7此外,我收到此警告以及错误WARNING: "pecl/mongo" is deprecated in favor of "channel:///mongodb" pecl/mongo requires PHP (version >= 5.3.0, version <= 5.99.99), installed version is 7.1.8。此外,还有500内部服务器错误。

在那个MongoDB php7驱动程序之前,我需要memcache并获取我使用this repo解决的phphize错误。最后我将这个低级PHP驱动程序用于MongoDB。

$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submodule sync && git submodule update --init
$ /usr/bin/phpize
$ ./configure
$ make all -j 5
$ sudo make install

您可以从输出中确认已安装mongodb.so驱动程序。

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
extension=mongodb.so

然后,只有剩余步骤才能使其在您的相应路径中可用。您可以使用以下命令

检查php.ini中的extensions_dir
$ php -i | grep extension_dir
extension_dir => /usr/lib64/php/7.0/modules => /usr/lib64/php/7.0/modules

而且,我可以验证mongodb.so是否存在于上述目录中。然后重新加载作曲家,你很高兴!希望这有用,因为它对我有用。