我尝试通过PECL安装Mongo PHP扩展(对于PHP 7.0.5-4 + donate.sury.org~xenial + 1)执行
sudo pecl install mongo-1.6.11
我尝试以这种方式安装它,因为我的Synfony3项目需要它(执行composer安装并安装MongoDB ODM)。
该过程的所有开始都做得很好,但在编译部分我有错误:
/tmp/pear/temp/mongo/php_mongo.c:736:3: error: too many arguments to function ‘zend_hash_copy’
zend_hash_copy(Z_ARRVAL_P(error_doc), Z_ARRVAL_P(document), (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *));
你可以帮我解决这个问题吗?我在Kubuntu 16.04下运行开发网站。
答案 0 :(得分:1)
传统驱动程序(即Mongo)不适用于PHP 7,只有新驱动程序(即MongoDB)可以与新PHP一起使用(请参阅compatibility table)。假设您已经使用了Doctrine的MongoDB ODM,您仍然可以使用它,只需要将新驱动程序与旧填充程序结合使用,我建议您查看mongo-php-adapter。
您还可以在this ODM blogpost中找到更多信息。