Symfony 3.4 中的 Cassandra 编译错误
Cassandra compile error in Symfony 3.4
我用 php7.1 为 cassandra 编译了 datastax 驱动程序并安装了包 https://packagist.org/packages/hendrahuang/cassandra-bundle
但是当我尝试 运行 "bin/console cassandra:schema:create" 时,我遇到了编译错误
Compile Error: Declaration of CassandraBundle\Cassandra\ORM\EntityManager::execute(Cassandra\Statement $statement, ?Cassandra\Exec
utionOptions $options = NULL) must be compatible with Cassandra\Session::execute($statement, $options = NULL)
我在 google 中进行了搜索,但找不到任何解决方案。
我认为您已经构建了 Cassandra 扩展版本 1.3,其中方法执行的定义已从 1.2 更改为匹配 cassandra-bundle 最新版本标签 1.4
https://docs.datastax.com/en/developer/php-driver/1.3/api/Cassandra/interface.Session/
要解决您的问题,您有两个解决方案:
构建扩展版本1.2,其execute方法的定义与cassandra-bundle中的相同。 https://docs.datastax.com/en/developer/php-driver/1.2/api/Cassandra/interface.Session/#method-execute
和
https://github.com/Hendra-Huang/CassandraBundle/blob/v1.4/Cassandra/ORM/EntityManager.php#L405
使用cassandra-bundle的分支master,执行方法的定义相同
https://github.com/Hendra-Huang/CassandraBundle/blob/master/Cassandra/ORM/EntityManager.php#L411
和
https://docs.datastax.com/en/developer/php-driver/1.3/api/Cassandra/interface.Session/#method-execute
要更改为 branch master,请更新您的 composer.json:"hendrahuang/cassandra-bundle": "dev-master"
然后 composer update hendrahuang/cassandra-bundle
您可能需要更改 composer.json 中的 minimum-stability
设置 https://getcomposer.org/doc/04-schema.md#minimum-stability
方案一比较安全。你不想为你的依赖使用 master 分支。
希望对您有所帮助
我用 php7.1 为 cassandra 编译了 datastax 驱动程序并安装了包 https://packagist.org/packages/hendrahuang/cassandra-bundle
但是当我尝试 运行 "bin/console cassandra:schema:create" 时,我遇到了编译错误
Compile Error: Declaration of CassandraBundle\Cassandra\ORM\EntityManager::execute(Cassandra\Statement $statement, ?Cassandra\Exec
utionOptions $options = NULL) must be compatible with Cassandra\Session::execute($statement, $options = NULL)
我在 google 中进行了搜索,但找不到任何解决方案。
我认为您已经构建了 Cassandra 扩展版本 1.3,其中方法执行的定义已从 1.2 更改为匹配 cassandra-bundle 最新版本标签 1.4 https://docs.datastax.com/en/developer/php-driver/1.3/api/Cassandra/interface.Session/
要解决您的问题,您有两个解决方案:
构建扩展版本1.2,其execute方法的定义与cassandra-bundle中的相同。 https://docs.datastax.com/en/developer/php-driver/1.2/api/Cassandra/interface.Session/#method-execute 和 https://github.com/Hendra-Huang/CassandraBundle/blob/v1.4/Cassandra/ORM/EntityManager.php#L405
使用cassandra-bundle的分支master,执行方法的定义相同 https://github.com/Hendra-Huang/CassandraBundle/blob/master/Cassandra/ORM/EntityManager.php#L411 和 https://docs.datastax.com/en/developer/php-driver/1.3/api/Cassandra/interface.Session/#method-execute
要更改为 branch master,请更新您的 composer.json:"hendrahuang/cassandra-bundle": "dev-master"
然后 composer update hendrahuang/cassandra-bundle
您可能需要更改 composer.json 中的 minimum-stability
设置 https://getcomposer.org/doc/04-schema.md#minimum-stability
方案一比较安全。你不想为你的依赖使用 master 分支。
希望对您有所帮助