使用 hhvm 编译 predis 作为 php 唯一扩展的问题 -- RedisCluster::__construct() 必须是 FactoryInterface 的一个实例,Factory given

issue with compiling predis with hhvm as a php only extension -- RedisCluster::__construct() must be an instance of FactoryInterface, Factory given

我正在使用 hhvm 扩展 api 来尝试构建 predis 作为构建 HHVM 时的 php 唯一扩展。 目的是希望从中获得更好的性能。 在连接并重新格式化 predis 库以使其成功编译后,我能够使 Predis\Client class 正常工作。

用于集群配置时完全失败


Catchable fatal error: Argument 1 passed to Predis\Connection\Aggregate\RedisCluster::__construct() must be an instance of Predis\Connection\Aggregate\FactoryInterface, Predis\Connection\Factory given


我不知道我做错了什么。

找到了我的问题的解决方案。在 github

上与 predis 所有者协商后

问题出在 Predis 附带的 create-single-file 脚本中。它还存在其他问题。我会建议不要使用它,除非你准备好在规定的时间内用双关语来解决问题。

这个特殊问题是在 class RedisCluster 实现 ClusterInterface

的构造函数中输入错误的 class

修改后,正常使用。

希望这对遇到类似问题的人有所帮助