Установка логического значения в Redis приводит к ошибке 502 в PHP - PullRequest
0 голосов
/ 30 октября 2018

Зачем PHP код

$redis = new Redis();
$redis->connect('127.0.0.1', '6379');
$redis->set("testkeybool", false);

привести к ошибке 502?

2018/10/30 13:59:29 [error] 23512#0: *12 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: ..., server: my.host, request: "GET /test.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "..."

если я установлю целое число вместо логического, он будет работать нормально

$redis->set("testkeybool", 0);

nginx config

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

PHP версия PHP 5.6.36

1 Ответ

0 голосов
/ 30 октября 2018

Это потому, что redis поддерживает только следующие типы данных string, list, hash, set, sorted set, bitmaps, and hyperlogs. При использовании установщика $redis->set(); (Установить ключ для хранения строкового значения.) Он должен быть в форме одного из этих типов данных

Попробуйте

$redis = new Redis();
$redis->connect('127.0.0.1', '6379');
$redis->set('testkeybool', 'false');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...