phpmyadmin + redis 会话保存兼容性?

phpmyadmin + redis 会话保存兼容性?

我在 phpmyadmin + redis php 会话缓存上遇到了奇怪的行为。这是我的 php-fpm 池配置:

php_value[session.save_handler] = redis
php_value[session.save_path]    = "tcp://127.0.0.1:6379"

此配置对于简单的 php 脚本来说工作正常:

<?php
//simple counter to test sessions. should increment on each page reload.
session_start();


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

echo $count;

echo "<br>";

$_SESSION['count'] = ++$count;


$username = $_SESSION['username'];
if(isset($_SESSION['logged']) && $_SESSION['logged']=='yes') {
    echo "$username";
}   

$_SESSION['username']='Teddy';
$_SESSION['logged']='yes';



?>

我看到了增量和泰迪消息。

但是当我尝试通过'访问 phpmyadminhttp://我的服务器/phpmyadmin“我总是得到身份验证页面,即使成功登录后,我总是被重定向到该登录页面......

如果我切换到路径会话:

php_value[session.save_handler] = files
php_value[session.save_path]    = /var/www/vhost/sessions

一切运行良好(我的 php 脚本和 phpmyadmin)。

我想知道是否有人遇到过类似的问题,以及是否有解决方法?这可能是 phpmyadmin 的限制吗?

我在 Linux Debian 8.6 + phpmyadmin 4.2.12-2 + php5-fpm 5.6.24 + redis-server 3.2.4-1 上运行。

我的虚拟主机配置如下:

Alias /webops /usr/share/phpmyadmin
...


<FilesMatch "(^$|\.php$)">
        SetHandler "proxy:unix:///var/run/php-fpm/vhost.sock|fcgi://vhost/"
</FilesMatch>

<Proxy fcgi://vhost/$1 >
</Proxy>

RewriteCond %{REQUEST_FILENAME} .php$
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule (.*) - [H=text/html]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

谢谢大家,朱利安

相关内容