Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'ai un message d'erreur récurant qui apparait dans mon fichier de log lié au Zend Framework. (Pas de traces dans les logs apaches, et pas d'erreur de javascript).
Cette erreur apparait à chaque chargement complet de la page, mais pas lorsque je fais des requêtes AJAX.
Le site fonctionne correctement (mis à part cette erreur bien sûr), mais cela pollue mon fichier de log, et c'est pas super pour un environnement de prod !!!
NOTICE (5): exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (js)' in /srv/www/library/Zend/Controller/Dispatcher/Standard.php:241 Stack trace: #0 /srv/www/library/Zend/Controller/Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /srv/www/htdocs/mon_site/web_root/index.php(263): Zend_Controller_Front->dispatch() #2 {main}
La question est: comment je dois procéder pour avoir un peu plus d'infos sur ce qui cause cette erreur?
Car comme elle n'entraine apparemment aucun non fonctionnement je ne sais pas ou aller chercher dans le code.
Le "controller" js n'existe pas.
Et un grep sur js ne vas pas me donner grand chose d'exploitable puisque le site est en extJS...
D'avance merci pour votre aide.
Dernière modification par LeDuc08 (05-04-2011 17:19:54)
Hors ligne
La solution crados :
Dans ton index.php, autour de ton dispatch (ligne 263 a priori), mets un try/catch et dans le catch, tu écris
$_SERVER['REQUEST_URI'] dans un fichier de logs.
Au moins tu sauras de quelle requête vient l'erreur.
A+, Philippe
(la version propre serait de virer le throwExceptions de ton controlleur, comme ça ça passerait par le errorController et tu aurais une vraie erreur 404 dans tes logs apache)
Hors ligne
Bonjour Philippe,
Merci pour ta réponse.
Mon appel au dispatch était déjà entouré par un try/catch (Exemple du tuto)
ce qui donne:
[lang=php] try { $frontController->dispatch(); } catch (Zend_Exception $e) { $log->crit($e); }
Maintenant suite à ton conseil, j'ai essayé de faire un try/catch plus spécifique à mon problème:
[lang=php] try { $frontController->dispatch(); } catch (Exception $e) { $logFile = fopen("/tmp/mon.log", "a" ); fwrite($logFile, " URI = ".$_SERVER['REQUEST_URI'] ); }
Mais sans succès, par contre si je sors mes 2 lignes de création de log hors du try/catch.
Je récupère plein d'URI avec un web_root/js/ ...
Et effectivement, mon code JavaScript se trouve dans web_root/js, cela me donne donc une petite idée de là ou peut se trouver l'erreur.
Merci pour ton aide.
Edit Philippe : Ajouté [lang=php] au début des 2 codes pour activer le syntax highlighting
Dernière modification par philippe (06-04-2011 09:14:37)
Hors ligne
Comme c'est au chargement complet de ta page, n'est ce pas un js qui serait demandé et qui serait mal intercepté par ton rewrite ?
Peut-être en utilisant FireBug, verras-tu tous les fichiers chargés et cela te fera tilt !
Hors ligne
Bonjour Ithier,
En fait la liste des URI avait des choses comme cela:
URI = /monSite/web_root/js/ux/Ext.ux.form.BrowseButton.js
URI = /monSite/web_root/js/ux/Ext.ux.FileUploader.js
...
J'ai donc été voir de suite dans mon fichier :
/application/views/scripts/template.phtml
Et en fait, à la mise à jour de la librairie extjs, il y a eu du changement sur la déclaration de certaines class et je dois supprimer certains appels qui ne sont plus bon.
Merci à vous 2 pour votre aide.
Hors ligne
Je profite de ce message pour dire que delprog vient de mettre en place un système de syntax highlighting sur z-f.fr.
Pour l'activer sur un code PHP, il faut ajouter [lang=php] au début du code. Je viens de l'activer sur le message #3 de ce thread.
A+, Philippe
Hors ligne
Pages: 1