Cassandra编译误差在Symfony 3.4中



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. 构建扩展版本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

  2. 使用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是更安全的。您不想将主分支用于依赖项。

希望它有帮助

最新更新