2012-08-26 1 views
0

Je ne sais pas si j'ai manqué quelque chose en développant mon application en utilisant Zend_Framwork, mais voici mon problème, je ne vois pas de cookies, quand j'exécute mon application sur le serveur hôte , mais sur mon serveur WAMP tout a bien fonctionné ..Comment trouver les bogues qui causent des graines d'en-têtes malpropres

Je stock sur les sessions, les informations utilisateur pour l'utiliser plus tard, donc sur le serveur hôte, je ne peux pas vous connecter ..

J'utilise Zend_Auth et Zend_Acl, voici mon bootstrap

$modelLoader = new Zend_Application_Module_Autoloader (array ('basePath' => APPLICATION_PATH, 'namespace' => '', 'resourceTypes' => array ('form' => array ('path' => 'forms/', 'namespace' => 'Form_')))); 

    $this->_acl = new Application_Plugin_Acl(); 
    $this->_auth = Zend_Auth::getInstance(); 

J'utilise aussi Zend_Auth getStorage() -> write ('...') pour écrire des informations dans les sessions. Et je n'ai rien à voir avec les sessions sur mon application.ini

+0

Qu'est-ce que session.save_path? Est-ce que le processus du serveur web a des permissions pour écrire là? –

+0

J'ai essayé 2 chemin, celui par défaut et quand j'ai ajouté dans mon application.ini ce resources.session.save_path = APPLICATION_PATH "/../data/session", même résultat dans les deux cas:/ –

+0

Et vous êtes sûr que le processus du serveur Web a-t-il les permissions d'écrire dans le répertoire 'data/session'? Je dois généralement définir explicitement ces permissions (0755, parfois - à ma grande honte - même 0777 pour tester) sur ce répertoire. –

Répondre

1

Donc, c'est TRAVAILLER sur WAMP mais pas sur les serveurs hôtes. Je présume que vous voulez dire votre serveur VPS ou dédié ou dire n'importe quel nuage.

Zend_Auth utilise $_SESSION et il a de nombreuses fonctions fonctionnant dessus. Par exemple, $ _SESSION ['Zend_Auth'] ['storage'] vous donnera des informations sur ce qui se trouve dans votre hasIdentity().

Alors, ce que vous devez faire est, obtenir ce collé quelque part près du code et l'exécuter, juste pour votre référence

echo '<pre>'; 
print_r($_SESSION); 

En outre, vous ne pouvez pas voir les cookies parce qu'ils sont des cookies de session qui a 1 référence sur la machine client et reste tous sont sur le système de fichiers (si non configuré) du serveur.

Espérons que ça aide.

Questions?

+0

J'ai essayé d'imprimer le $ _Session sur mon VPS, et il était nul, rien dessus, ce que je veux dire par je ne peux pas voir les cookies, quand je le lance dans Wamp je vois quelque chose comme PHPSESSID contenant un Hash, alors que sur mon VPS il n'y a rien "ce site n'a pas de cookies" –

+0

Excellent et ça ne marche pas sur votre VPS non plus ... ce qui veut dire que votre VPS ne met pas de cookies en vérifiant le fichier PHP.ini. – Karma

Questions connexes