2016-08-22 35 views
0

我在运行PHP 5.6.23的ubuntu上运行LAMPP。找不到保存处理程序'redis' - Ubuntu

我决定将我的会话存储在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的 '设置' 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。

回答

3

你尝试不同的事情。 Predis是您的Redis服务器的直接客户端。如果你想使用它们作为会话处理器,你必须安装php模块。

sudo apt-get install php5-redis 

或PHP7

sudo apt-get install php7.0-redis 

然后 “Redis的” 应该作为会话处理程序。

+1

如何将它与LAMPP一起使用? – Xaretre

+1

问题在于你对LAMPP的意义是什么? LAMPP是完整堆栈的同义词。您已将Ubuntu设置为标记...因此请从您的存储库安装软件包。 – Stony

相关问题