Как подружить PHP с MongoDB? Пока не получается...

M2
На сайте с 11.01.2011
Offline
342
645

Всем привет!

Исходные данные:

ОС: Ubuntu Xenial

MongoDB Server: v3.6.3

PHP 7.0.25

MongoDB Driver: 1.4.1

Всё скачано и поставлено с офсайта или репов.

PHP поставлен из репов, а MongoDB Driver - скачан отсюда и поставлен в полном соответствии с:


./configure --enable-mongodb
make
make install

Теперь внимание вопрос!

Делаем так:


php -i | grep mongo

Получаем:


root@scw-d23522:/tmp# php -i | grep mongo
/etc/php/7.0/cli/conf.d/20-mongodb.ini,
mongodb
libmongoc bundled version => 1.9.2
libmongoc SSL => enabled
libmongoc SSL library => OpenSSL
libmongoc crypto => enabled
libmongoc crypto library => libcrypto
libmongoc crypto system profile => disabled
libmongoc SASL => disabled
libmongoc compression => enabled
libmongoc compression snappy => disabled
libmongoc compression zlib => enabled
mongodb.debug => no value => no value

Создаем файл php, пишем:


<?php

$conn = new Mongo();
print_r($conn);

?>

вываливается вообще что-то типо 500 ошибки...

ок, далее


<?php

var_dump(class_exists('Mongo'));

?>

Ответ: bool(false)

Это как вообще? Как мне подружить PHP и MongoDB? Что ещё не хватает? Что я не так делаю?...

Единственная проблема, которая имеется (если она вообще может влиять на исход дела) - сервер Mongo стартует с варнингами:


root@scw-d23522:/tmp# mongo
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
Server has startup warnings:
2018-02-26T07:49:31.405+0000 I STORAGE [initandlisten]
2018-02-26T07:49:31.405+0000 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2018-02-26T07:49:31.405+0000 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten]
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten]
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten]
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten]
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-02-26T07:49:31.482+0000 I CONTROL [initandlisten]
>
------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
mark2011:
Создаем файл php, пишем

Deprecated: http://php.net/manual/en/class.mongo.php

В php7 Нужно использовать http://php.net/manual/en/class.mongodb-driver-manager.php

---------- Добавлено 26.02.2018 в 18:12 ----------

mark2011, если у вас легаси-код, использующий устаревший класс, можете взглянуть на эту библиотеку-адаптер: https://github.com/alcaeus/mongo-php-adapter. Тогда переписывать не придется.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий