|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
Bonjour à tous,
Je viens vers vous suite à un problème subtilement présent dans le projet symfony sur lequel je bosse actuellement. J'ai un backend généré pour mon site. J'ai installé le plugin sfAdminDashPlugin ainsi que le fameux sfGuardPlugin. Jusqu'ici tout va bien. J'ai configuré comme spécifié dans la doc de admindash la connexion avec sfGuardPlugin en créant un module sfGuardAuth dans le backend, configuré les actions: Code :
Code :
<?php include_partial('sfAdminDash/login', array('form' => $form)); ?> J'ai donc activer le no_script_name à true. Dans mon routage, la route par défaut est donc Code :
Code :
Dès que je passe sur mon serveur de prod chez ovh, ça passe plus. Précisement, l'accès à http://abo.travail.lemensuel.com/admin/ (admin et admin) fonctionne bien, donc la première partie du htaccess fonctionne. Par contre une fois le formulaire soumis, normalement je suis censé tombé sur la route homepage, mais j'obtiens une belle erreur 500. L'entrée avec http://abo.travail.lemensuel.com/backend_dev.php/admin/ marche bien Quelqu'un a-t-il une idée, là je suis perdu après quelques heures de débug. Merci |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
![]() Il est rare que PHP te lâche simplement une erreur sans rien en dire d'autre ; affiche les erreurs (php_flag display_errors 1 dans le .htaccess) et donne-nous ce qu'affiche dans ce cas le contrôleur debug.
__________________
Le troisième défi Qt ! Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP. Qt : La FAQ : 200 QR symfony : sfDoctrineGuard Pas de question d'ordre technique par MP ! |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
Il est déjà activé
|
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Tu as essayé en mode débug ?
Tu peux utiliser symfony pour parsemer ton code de code de log et récupérer cela dans les logs symfony. Tu peux aussi le parsemer de die() et autre echo pour savoir où il passe, mais c'est plus lourd sur ce type de serveur. Eventuellement, essaye de te monter une machine virtuel en local avec un debian et un serveur xamp pour voir si l'erreur est reproductible. Il faut se méfier d'un site développé sous windows et exécuté sous linux, la gestion des majuscules et minuscules n'est pas la même, là où windows est tolérant, linux est extrémiste. Si tu as des liens coucou/Durant/vErt sous windows qui pointent vers la structure coucou/durant/vert ils passeront. Sous linux il planteront. Vérifies. Et vérifies que le transfert par FTP ne t'ai pas rajouté de majuscules intempestives en début de nom de fichier.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 | ||||||
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
Je suis sous Mac.
Voilà les logs que j'obtiens en lançant une connection à l'admin: Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Arrive-t-il dans ton contrôleur ?
Quid si tu mets un code de débug (die() ) dans ton contrôleur (executeDashboard) ? Que donne l'exécution en mode débug sur le serveur ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
Oui il arrive bien dans le controleur du plugin admindash
plugins/sfadmindashplugin/modules/sfadmindash/lib/BasesfAdminDashActions.class.php Code :
|
||
|
|
00
|
|
|
#8 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Il faut reculer le die() jusqu'à ce qu'il plante avant le die, pour trouver le code où le bout de code qui fait planter.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#9 | ||||||
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
Bon trouvé
c'est la ligne suivante Code :
isset($item['credentials']) ? $user->hasCredential($item['credentials']) : true; Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
J'ai une array dans $item['credentials'] de 1 élément, qui est $item['credentials'][0] -> admin et ça plante sur $user->hasCredential($item['credentials'])
|
|
|
00
|
|
|
#11 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Comment gères-tu les droits ?
Quel est la définition de ta classe myUser (dans apps/<application>/lib/mytser.class.php)
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#12 | ||||
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
J'ai simplement cela dans myUser.class.php
Code :
app.yml Code :
|
||||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
C'est quand même bizarre qu'avec une url clean /admin ça bug, et que avec le controleur de dev, backend_dev.php ça fonctionne ?
|
|
|
00
|
|
|
#14 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Le myUser semble correcte.
C'est bizare, même si j'ai déjà eu. C'était à chaque fois des petites erreurs de syntaxe. La dernière, un nom de champ qui était passé de Xxxx_id à xxxx_id et était resté dans un form à Xxxx_id. Plantage en prod uniquement. 3 heures de recherche. Essaie soit de débuger avec xDebug, soit a coup de die().
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
Ouep, moi ce qui m'intrigue c'est que ça plante sur
$user->hasCredential($item['credentials']) or $item['credentials'] contient bien un élément de valeur 'admin' et même en balançant direct cela dans le code $user->hasCredential('admin') ça plante aussi La fonction hasCredential est-elle buggée? tome-t-on dans un cas non prévu? ou c'est la variable $user qui merde? |
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : mars 2011 Messages : 11 ![]() |
Bon, après avoir fait un gros nettoyage sur le serveur, vider le cache symfony, reuploader ma version local qui marchait, ben là ça tourne
En fait j'ai un bug de Symfony, je sais pas si c'est récurrent, mais le fichier de cache d'accès au base de donnée me met tout le temps un mot de passe null dans le fichier en cache, je suis obligé d'aller l'éditer sur le serveur. Et du coup dès fois je préfères pas vider brutalement le répertoire cache en ligne, histoire de pas avoir à refaire ça à chaque upload. |
|
|
00
|
|
|
#17 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Diable...
Voilà bien un problème que je n'ai jamais rencontré. Il n'y a pas à ma connaissance de fichier cache pour accéder à la base de donnée avec doctrine 1.2 ? Sauf si tu parles du fichier config.database.yml. Et si tu as un problème là, c'est certainement dû au parse du fichier database.yml. Possible que ton mot de passe comporte des caractères non alphanumérique qui génère une erreur à ce niveau...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com