2017-02-17 28 views
0

Я работаю на сервере Ubuntu 16, и я не могу заставить драйвер mongodb работать с php 7. Я успешно установил его на своем xampp на моем компьютере с Windows, но у Ubuntu и php7, по-видимому, огромные различия.Установка драйвера MongoDB php7

Я попытался установить его через pecl install mongodb и использовал композитор для установки зависимостей, но он по-прежнему не работает. Я использую тот же php-файл из своих окон Xampp, и когда я обращаюсь к странице, он выдает код состояния 500.

Может кто-нибудь дать окончательное пошаговое руководство по установке этого драйвера и, возможно, также как отменить любые изменения, которые я сделал с помощью композитора и pecl?

ответ

0

Прохладный даже я пробовал с 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 внутренних ошибок сервера.

Перед этим драйвером php7 от MongoDB мне понадобилась memcache и получить ошибку phphize, которую я решил с помощью this repo. Затем, наконец, я использую этот низкоуровневый 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 

Тогда только оставшийся шаг сделает его доступным на вашем пути. Вы можете проверить свой extensions_dir в php.ini с помощью следующей команды,

$ php -i | grep extension_dir 
extension_dir => /usr/lib64/php/7.0/modules => /usr/lib64/php/7.0/modules 

И я могу подтвердить, что mongodb.so присутствует в каталоге выше. Затем перезагрузите композитора, и вы хорошо пойдете! Надеюсь, это помогает, поскольку это работает на меня.