我正在使用Ubuntu 16服务器而且我似乎无法使用php 7的mongodb驱动程序工作。我在我的Windows机器上的xampp上成功安装了它,但是Ubuntu和php7似乎有很大的不同。
我确实尝试通过pecl install mongodb
安装它,并使用composer来放入依赖项,但它仍然不起作用。我在Windows Xampp中使用相同的php文件,当我访问该页面时,它会抛出500状态代码。
有人可以提供有关如何安装此驱动程序的明确演练,也可能还有如何恢复使用composer和pecl进行的任何更改?
答案 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是否存在于上述目录中。然后重新加载作曲家,你很高兴!希望这有用,因为它对我有用。