Intereting Posts
Laravel 5.1, похоже, не добавляет значения конфигурации в S3 Upload Мой php-код закомментирован браузером Создание страницы ошибки для субдомена, который не существует Как вставить входной массив html в mysql, используя PDO Как включить в форму сущности некоторые поля из другого объекта? Android JSON HttpClient для отправки данных на сервер PHP с помощью HttpResponse Является ли прототип Javascript похожим на статический метод PHP? Codeigniter не смог открыть разрешение на поток при загрузке изображений Разрешение изменения DateTime в PHP RPG – сохранение данных игрока для полукомплексной древовидной структуры Назначение сессий PHP и файлов cookie и их различий Требуется очистить буфер в Node.js? Если да, то как? Если нет, то в чем проблема? Гипотетическое затруднение конкатенации Как выбрать библиотеку аутентификации для CodeIgniter? Пропустить обычную расчетную цену товара в корзину в Woocommerce

PHP не может загружать динамическую библиотеку (mongo.so)

Я пытаюсь использовать rockmongo. После установки я не могу его использовать. В нем говорится: « Чтобы все было правильно, вы должны установить модуль php_mongo. Здесь для установки документов на PHP.net ».

Я уже установил расширение драйвера mongoDB через sudo pecl install mongo .

locate mongo шоу /usr/lib/php5/20090626+lfs/mongo.so

Однако php -v показывает несколько предупреждений (которые, я думаю, связаны с монго)

 PHP: syntax error, unexpected $end, expecting ']' in /etc/php5/cli/conf.d/mongodb.ini on line 3 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/mongo.so' - /usr/lib/php5/20100525+lfs/mongo.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP 5.4.28-1+deb.sury.org~precise+1 (cli) (built: May 5 2014 09:39:26) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies 

i открыл /usr/lib/php5/ и выяснил, что есть другой каталог ( 20090626 + lfs ), который содержит mongo.so.

Я пробовал различные онлайн-уроки, но ничего не помогло.

Редактировать : Вот мой mongodb.ini

 ;----- start ----- extension=mongo.so \[mongo\] ; If the driver should reconnect to mongo mongo.auto_reconnect = true ; Whether to allow persistent connections mongo.allow_persistent = On ; Maximum number of persistent connections (-1 means unlimited) mongo.max_persistent = -1 ; Maximum number of links (persistent and non-persistent, -1 means unlimited) mongo.max_connections = -1 ; Default host for mongo connection mongo.default_host = www.example.com ; Default port for mongo database mongo.default_port = 42 ; When saving files to the database, size of chunks to split them into mongo.chunk_size = 1024 ; Specify an alternate character to $ to use for special db functions ($set, $push, $exists, etc.) mongo.cmd = "$" ;----- end ----- 

Я решил эту проблему, используя версию 1.1.9 mongodb. Сначала удалите текущую версию mongodb, а затем установите версию 1.1.9:

 sudo pecl uninstall mongodb sudo pecl install mongodb-1.1.9 composer update 

Добавьте полный путь к расширению mongodb.ini в mongodb.ini :

 extension=/usr/lib/php5/20090626+lfs/mongo.so 

Также [mongo] должно быть написано точно так же, как NOT \[mongo\] .

Не забудьте перезагрузить / перезагрузить веб-сервер, чтобы загрузить новую конфигурацию.

Вы можете проверить, что все в порядке:

 php -i | grep mongo 

Моя версия php – 7.0, но она также должна работать с версией 5.x.

Если у вас есть это в файле /etc/php/7.0/mods-available/mongo.ini

 extension=mongodb.so 

Прокомментируйте эту строку. После этого перезапустите php и он должен работать.