Невозможно загрузить динамическую библиотеку 'mongodb.so' - Debian 8, PHP 7.2 - PullRequest
0 голосов
/ 28 июня 2018

У меня есть VPS с ОС Debian 8 и панель DirectAdmin с PHP7.2

Чтобы использовать PHP-драйвер MongoDB, я установил его с помощью команды sudo pecl install mongodb.

После этой установки я добавил расширение драйвера в файл php.ini с помощью этой команды:

echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||" 

Но похоже, что драйвер не установлен! Потому что, когда я выполняю команду PHP, сталкиваюсь с этим предупреждением:

Предупреждение PHP: Запуск PHP: не удается загрузить динамическую библиотеку 'mongodb.so' (пытался: /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so (/Usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so: невозможно открыть общий объектный файл: нет такого файла или каталога), /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so.so (/Usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so.so: невозможно открыть общий объектный файл: нет такого файла или каталога)) в Unknown по линии 0

У меня все нормально (windows), я добавляю расширение Non Thread Safe (NTS) в каталог расширений, и это все!

Что я сделал не так? Отличается ли установка драйвера MongoDB на PHP DirectAdmin от установки на обычном PHP?

Обновление:

MongoDB тоже не является результатом phpinfo();!

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Проблема была в DirectAdmin, потому что у него есть собственный PHP, и к нему должны быть добавлены расширения.

Когда я запускаю sudo pecl install mongodb, он смотрит VPS PHP по умолчанию.

Эта команда решила мою проблему:

cp /usr/lib/php/20170718/mongodb.so /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so
0 голосов
/ 28 июня 2018

Пожалуйста, убедитесь, что php extension dir: /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/

Проверка:

php -i |grep extension_dir

Если нет, есть два варианта сделать это:

  1. изменить extension_dir в php.ini до /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/
  2. echo "extension=/full_path_through_pecl_installed/mongodb.so" > php.ini
...