PHP redis lua脚本无法正常工作

时间:2015-12-13 13:05:16

标签: php lua redis phpredis

该脚本适用于我的MAC,phpinfo()显示php redis支持版本为:Redis版本2.2.5

我在PHP中的脚本是:

$script
    = "
        local count = redis.call('incr',KEYS[1])
        if tonumber(count) == 1 then
            redis.call('expire',KEYS[1],ARGV[1])
        end
        return count";

//$sha1_value = $this->conn->script('load', $script);
//var_dump($sha1_value);
if (FALSE === $this->conn->evalSha('e03b35e8ef29c5c746b1791ec7ae89e19f52156c', [
        $key,
        1800
    ], 1)
)
{
    $this->conn->eval($script, [
        $key,
        1800
    ], 1);
}

我的服务器上没有运行的脚本,Redis版本的PHP是2.1.0。

问题是程序符合$this->conn->script()$this->conn->evalSha()方法会终止进程,这很奇怪,因为没有打印出错误日志,当我使用{{1}编写代码时方式,异常消息也没有打印出来。

我检查了Redis的官方网站,它说:

try ... catch ...http://redis.io/commands/EVAL

所以我很好奇,因为我服务器上的redis-cli版本已经是2.8.0,而我的MAC是3.0.2。

那我怎么能找出问题呢?

0 个答案:

没有答案