i与php7.1一起编译了Cassandra的DataStax驱动程序,并安装了捆绑包https://packagist.org/packages/packages/hendrahuang/cassandra-bundle
但是,当我尝试运行" bin/console cassandra:架构:创建"时,我得到了编译错误
Compile Error: Declaration of CassandraBundleCassandraORMEntityManager::execute(CassandraStatement $statement, ?CassandraExec
utionOptions $options = NULL) must be compatible with CassandraSession::execute($statement, $options = NULL)
我在Google中搜索了它,但找不到任何解决方案。
我认为您已经构建了Cassandra扩展版1.3,其中方法执行的定义已从1.2更改为Cassandra-Bundle最新版本TAG 1.4https://docs.datastax.com/en/developer/php-driver/1.3/api/cassandra/interface.session/
要解决您的问题,您有两个解决方案:
-
构建扩展版本1.2的执行方法的定义与Cassandra-Bundle的定义相同。https://docs.datastax.com/en/developer/php-driver/1.2/api/cassandra/interface.session.session/#method-execute和https://github.com/hendra-huang/cassandrabundle/blob/v1.4/cassandra/cassandra/orm/entitymanager.php#l405
-
使用Cassandra-Bundle的分支主人,执行方法的定义是相同的https://github.com/hendra-huang/cassandrabundle/blob/master/cassandra/cassandra/erorm/entitymanager.php#l411和https://docs.datastax.com/en/developer/php-driver/1.3/api/cassandra/interface.session.session/#method-execute
要更改为分支主更新您的Composer.json:"hendrahuang/cassandra-bundle": "dev-master"
然后composer update hendrahuang/cassandra-bundle
您可能需要更改minimum-stability
设置。/p>
解决方案1是更安全的。您不想将主分支用于依赖项。
希望它有帮助