Использование устаревшего драйвера MongoDB с PHP7

Есть ли способ использовать Legacy Mongo PHP Driver из PECL с PHP7? Может быть, неофициальный форк с поддержкой PHP7 или инструкция по компиляции / модификации...

2 ответа

Решение

Существует альтернатива, если вам действительно нужно использовать какой-либо пакет или библиотеку с сильными зависимостями от устаревшего драйвера php mongo, это называется "alcaeus:mongo-php-adapter". Он предоставляет библиотеку ext-mongo поверх библиотеки mongo-php (sic).

https://github.com/alcaeus/mongo-php-adapter

Если вы столкнулись с какой-либо проблемой с composer, связанной с отсутствием устаревшего драйвера (известное сообщение "Запрошенное расширение PHP ext-mongo * отсутствует"), вы можете исправить это, добавив это в composer.json

"обеспечить": { "ext-mongo": "1.6.12" },

В этом случае, возможно, вы захотите взглянуть на эту ветку (та же ситуация, но с герою): https://github.com/alcaeus/mongo-php-adapter/issues/67

Нет, устаревший драйвер не поддерживает PHP7. Вот коммит и Билет JIRA, где это было официально завершено.

Новый драйвер PHP MongoDB можно найти в PECL здесь (или GitHub).

Для установки достаточно:

pecl channel-update pecl.php.net

pecl install mongodb

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

Документацию по новому драйверу можно найти здесь. Я хотел бы добавить примечание из документации:

В конечном счете, это расширение не предназначено для использования в одиночку. Пользователям следует рассмотреть возможность использования этого драйвера вместе с одной или несколькими пользовательскими PHP-библиотеками, такими как mongo-php-library.

Новый mongodb расширение драйвера / PHP намного более низкого уровня, чем унаследованное mongo драйвер, и вам рекомендуется использовать библиотеку более высокого уровня поверх драйвера, а не использовать ее непосредственно в своем коде.

PHP-библиотека Mongo ( релизы) является официальной высокоуровневой библиотекой для PHP, и это то, что рекомендуется использовать в ваших проектах. Он все еще находится в бета-версии, но, похоже, это самый безопасный и перспективный путь к PHP7.

Изменить: Legacy Mongo Driver больше не активен вообще.

Другие вопросы по тегам