Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour ,
j'ai un soucis sur les gestion des erreurs retournées lorsque je mets dans une Url un contrôleur indéfinies, par exemple /controllerx/ , je reçois :
Fatal error: Uncaught exception 'Zend_Controller_Response_Exception' with message 'Cannot send headers; headers already sent in /home/library/Zend/Loader.php, line 198
.
sachant que pour tout le site j'ai qu'un seul contrôleur Index .
merci .
Hors ligne
Hum... tu n'as pas modifié le fichier /home/library/Zend/Loader.php toi même à la main ?
(genre ajout d'un echo ou une blaque comme ça).
A+, Philippe
Hors ligne
Bonjour, et merci philippe pour ta réponse .
j'ai pas modifier le fichier Zend/Loader.php , mais je crois l'erreur est causée par la configuration du serveur (mutualisé ) . l'erreur qui précède :
Warning: is_readable(): open_basedir restriction in effect. File(/usr/local/lib/php//home/0/1/www/application/Modules/site/controllers/ControllerxController.php) is not within the allowed path(s): (/home/0:/home/b/www/membres/gerer/filemanager/tmppma:/home/b/www/membres/gerer/filemanager/sessions) in /home/0/1/www/library/Zend/Loader.php on line 198 Fatal error: Uncaught exception ................
maintenant , j'ai modifié le fichier Zend/Loader.php , la ligne 198 en ajoutant un '@' ça :
if (@is_readable($file))
donc je contrôle bien l'erreur 404 dans controllers/ErrorController.php .
mais je ne sais pas , est ce une bonne solution , ou un bricolage .... ?
Hors ligne
Euh... c'est certain que c'est du bricolage, mais bon je n'ai pas de solution alternative à te proposer...
A+, Philippe
Hors ligne
Bonjour ;
Effectivement, il s'agit d'un bricolage. Pour rappel, vous ne devriez jamais avoir à modifier les classes du Framework directement.
Quel est la valeur du paramètre controllerDirectory dans votre fichier application.ini ?
Je vous conseille d'utiliser un chemin relatif en rapport avec votre include path soit dans votre cas:
"/1/www/application/Modules/site/controllers"
Example:
resources.frontController.controllerDirectory = "/1/www/application/Modules/site/controllers"
Par ailleurs, il me semble qu'il existe une méthode vous permettant de désactiver le retour de l'erreur sus-évoquée sans modifier le Zend/Loader.php :
Exemple:
$loader = Zend_Loader_Autoloader::getInstance(); $loader->suppressNotFoundWarnings(true);
Note: Il s'agit ici que de simple suggestions. Pour ce qui est du 'suppressNotFoundWarnings', je ne suis pas certain que cela fonctionne dans votre cas
Dernière modification par nuxwin (21-03-2011 17:54:14)
Hors ligne
Pages: 1