PHP скрипт redis lua не работает

Скрипт работает на моем 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);
}

Скрипт не работает на моем сервере, на котором версия PHP для Redis — 2.1.0.

Проблема в том, что программа отвечает $this->conn->script() или же $this->conn->evalSha() метод прервет процесс, это очень странно, потому что журнал ошибок не распечатывается, и когда я пишу код, используя try ... catch ... Кстати, сообщение об исключении тоже не распечатано.

Я проверил официальный сайт Redis он говорит:

EVAL and EVALSHA are used to evaluate scripts using the Lua interpreter built into Redis starting from version 2.6.0. (http://redis.io/commands/EVAL)

Так что мне любопытно, потому что версия redis-cli на моем сервере уже 2.8.0, а на моем MAC — 3.0.2.

Итак, как я могу выяснить проблему?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]