Не удается найти обработчик сохранения 'redis' - Ubuntu

Я запускаю LAMPP на Ubuntu с PHP 5.6.23.

Я решил сохранить свои сессии в Redis, и я установил его. Я также установил Predis тоже.

В результате поиска в Интернете я изменил свой php.ini на:

session.save_handler = redis
session.save_path = "127.0.0.1:6379"

Но при попытке создать сеанс я получаю эту ошибку:

Warning: session_start(): Cannot find save handler 'redis' - session startup failed in /path/to/the/Untitled.php

Вы можете думать, что в Redis есть проблема, но это не так. Он работает правильно, я могу что-то установить, и я могу проверить это с помощью Redis-CLI:

Мой redis 'set' код PHP:

<?php

require "predis/autoload.php";
$redis = new Predis\Client([
    'scheme' => 'tcp',
    'host'   => '127.0.0.1',
    'port'   => 6379,
]);
$redis->set('x', '42');
$redis->set('name','test');

?>

Результаты в telnet:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
MONITOR
+OK
KEYS *
+1471853424.389215 [0 127.0.0.1:36912] "KEYS" "*"
*2
$4
name
$1
x

Сессия php код:

<?php
session_start();


$count = isset($_SESSION['cont']) ? $_SESSION['cont'] : 1;

echo $count;

$_SESSION['cont'] = ++$count;
?>

Он должен увеличивать число при каждом обновлении, но отображает только ошибку.

Я снова установил Redis (v 3.2.3), но все равно без разницы.

Есть ли способ решить это?

Может ли LAMPP быть причиной проблемы?

РЕДАКТИРОВАТЬ:

Я начал использовать phpredis вместо predis.

1 ответ

Решение

Вы пробуете разные вещи. Predis - это прямой клиент для вашего Redis Server. Если вы хотите использовать их в качестве обработчика сеанса, вам нужно установить модуль php.

sudo apt-get install php5-redis

или для PHP7

sudo apt-get install php7.0-redis

Тогда "redis" должен быть доступен как обработчик сеанса.

Другие вопросы по тегам