我正在尝试使用phpmyadmin为控制面板创建单一登录平台。我已经准备好了教程和周围的文档。我安装了phpmyadmin并更改了配置文件和登录脚本,如下所示:
的config.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脚本。
答案 0 :(得分:1)
要停止重定向,建议将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();
if( !isset($_GET[server])){
header('Location: ./index.php?server=1');
}
?>