2010-06-09 4 views
2

J'ai un répertoire sur mon site que j'ai implémenté l'authentification PEAR pour exécuter mon authentification. Cela fonctionne très bien.Comment puis-je déboguer l'authentification PEAR?

Cependant, j'ai essayé de faire une copie de mon site (il va être traduit dans une langue différente), et sur ce nouveau site, le processus d'authentification ne semble pas fonctionner correctement.

Je peux me connecter correctement, mais chaque fois que j'essaie d'accéder à une page différente dans le même répertoire et que j'utilise Auth pour autoriser, cela me force à me reconnecter.

Voilà ma logique:

$auth_options = array(
     'dsn' => mysql://user:[email protected]/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"); 
} 

Cela fait partie d'un fichier qui est inclus dans chaque page php je que je désire exiger une authentification. Je peux me connecter correctement une fois, mais chaque fois que j'essaye d'aller sur une autre page qui nécessite une authentification, cela me fait me reconnecter (et je vois le message "ne peut pas réussir" au bas de la page).

Encore une fois, cette solution fonctionne très bien sur mon site d'origine, j'ai copié tous les fichiers, et seulement changé le serveur/mot de passe DB - il ne fonctionne toujours pas. Et j'utilise le même hébergeur pour les deux.

Qu'est-ce que je fais mal ici? Ou comment puis-je déboguer plus loin?

Répondre

0

Ok - il semble que mon hébergeur ait un problème avec les sessions sur PHP (au moins pour ce site).

Voici ce qu'ils ont essayé qui a fonctionné. Ce qui suit est dans un fichier .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 

Espérons que cela aide quelqu'un d'autre!