【发布时间】:2015-09-01 19:09:18
【问题描述】:
PHP7 最近获得了很多关注,它有望提供出色的性能和更成熟的语言。版本 7.0.0-alpha 已发布。我们刚刚开始重新设计使用 MongoDB 作为数据源的核心应用程序。
我想知道是否正在开发兼容 PHP7 的 MongoDB 扩展?有多远?有没有其他选择?
【问题讨论】:
PHP7 最近获得了很多关注,它有望提供出色的性能和更成熟的语言。版本 7.0.0-alpha 已发布。我们刚刚开始重新设计使用 MongoDB 作为数据源的核心应用程序。
我想知道是否正在开发兼容 PHP7 的 MongoDB 扩展?有多远?有没有其他选择?
【问题讨论】:
AFAIK,有no compatible extension yet,但我认为在 MongoDB 工作的 Hannes '@bjori' Magnusson 想要work on it。
【讨论】:
Should be relapse today with version: 1.1.0
如果有人没有足够的时间玩新扩展,你可以随时尝试兼容旧 API 的 php 库。
【讨论】:
PHP7 不支持旧的 Mongo 扩展。取而代之的是一个新的MongoDB extension,它在底层使用 libmongo,是一种更“简单”的方法,其目标是易于维护并易于移植到 HHVM 等其他环境。它还旨在与 PHP 5.4 以下的任何版本一起使用。
为了使新扩展更易于使用,Packagist 上有一个官方的php library。这个库的目的不是替代旧的 Mongo 扩展。应该注意的是,在撰写本文时,该库并未实现旧 Mongo 扩展中可用的所有功能,例如 GridFS。希望我们能很快看到包含所有可用功能的扩展和库的非测试版。
【讨论】:
这是一个测试版:
pecl install mongodb-beta
你需要一些软件来编译和安装:
yum -y install php-devel cyrus-sasl-devel openssl-devel gcc
echo extension=mongodb.so >/etc/php.d/mongodb.ini
composer require mongodb/mongodb
一切正常
我使用 CentOS 7 和 PHP 7.0.1 和 nginx 1.8 和 Mongodb 3.2
对于 Windows:
http://windows.php.net/downloads/pecl/releases/mongodb/1.1.1/
【讨论】:
new "mongodb" extension 中的Version 1.1.1 支持 PHP 7,互补的 userland library 也是如此。
【讨论】:
pecl install mongodb
应该可以的。
【讨论】:
pecl 安装 mongodb
extension=mogodb.so
$ composer 需要 alcaeus/mongo-php-adapter (要么) $ php composer.phar 需要 alcaeus/mongo-php-adapter
require_once 'vendor/autoload.php';
【讨论】: