如何调试PEAR身份验证?

时间:2010-06-09 18:02:00

标签: php pear

我的网站上有一个目录,我已经实现了PEAR的Auth来运行我的身份验证。它运作得很好。

但是,我试图复制一下我的网站(它将被翻译成另一种语言),在这个新网站上,Auth进程似乎无法正常工作。

我可以正常登录,但每当我尝试转到同一目录中的其他页面,并使用Auth进行授权时,它会强制我再次登录。

这是我的逻辑:

$auth_options = array(
        'dsn' => mysql://user:password@server/db',
        'table' => 'users',
        'usernamecol' => 'username',
        'passwordcol' => 'password',
        'db_fields' => '*'
    );

$auth = new Auth("DB", $auth_options, "login_function");
$auth->setFailedLoginCallback('bad_login'); 
$auth->start();

if (!$auth->checkAuth())
{
  die('cannot succeed in checkAuth')
  exit;
} else {
  include("nocache.php");
}

这是我希望要求身份验证的每个php页面中包含的文件的一部分。我可以正常登录一次,但每当我尝试去另一个需要身份验证的页面时,它会让我再次登录(我在页面底部看到'无法成功'的消息)。

同样,这个解决方案在我的原始网站上工作正常,我复制了所有文件,只更改了数据库服务器/密码 - 它仍然无效。我正在为两者使用相同的虚拟主机。

我在这里做错了什么?或者我该如何进一步调试?

1 个答案:

答案 0 :(得分:0)

好的 - 看起来我的webhost在PHP上的会话出现问题(至少对于这个站点而言)。

这是他们尝试过的有效方法。以下是.htaccess文件:

php_value session.gc_probability 1
php_value session.gc_divisor 100
php_value session.gc_maxlifetime 3600
php_value session.save_path /path/to/sessions/folder

希望这有助于其他人!

相关问题