我正在尝试使用 phpmyadmin 为控制面板创建单点登录平台。我已经准备好教程和相关文档。我安装了 phpmyadmin 并更改了配置文件和登录脚本,如下所示:
配置.inc.php:
<?php
$i = 0;
$i++;
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['auth_type'] = 'signon';
$cfg['Servers'][$i]['SignonSession'] = 'TEST';
$cfg['Servers'][$i]['SignonURL'] = 'pma.php';
?>
pma.php:
<?php
session_set_cookie_params(0, '/', '', 0);
session_name('TEST');
session_start();
$_SESSION['PMA_single_signon_user'] = 'root';
$_SESSION['PMA_single_signon_password'] = 'ROOTPASSWORDHERE';
$_SESSION['PMA_single_signon_host'] = 'localhost';
session_write_close();
header('Location: ./index.php?server=1');
?>
不幸的是,当在我的浏览器中访问 phpmyadmin URL 时,它会在 pma.php 和 index.php 之间自动循环,但实际上从未真正登录到 phpmyadmin。Firefox 最终捕获并停止它“Firefox 检测到服务器正在以永远不会完成的方式重定向该地址的请求。”
关于我的设置的一些细节:
为此,我在 debian 6 上使用 nginx 和 php5-fpm。我使用 apt-get 安装 phpmyadmin,安装后我为它创建了一个有效的 nginx 配置。然后我通过手动输入root用户名和密码来测试phpmyadmin,它工作正常。
这只是一个测试,因此我不会只对连接到服务器的任何人进行“自动身份验证”,我只是想让它工作,所以我已经尽可能多地从 pma.php 脚本中剥离出来。