IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Débutant ZF -> Application Error sans infos


Sujet :

Zend Framework PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 82
    Points
    82
    Par défaut Débutant ZF -> Application Error sans infos
    Bonjour,

    Je viens de suivre le tutoriel "Débuter avec le Zend Framework (approche MVC) http://s-jdm.developpez.com/tutoriels/php/traductions/debuter-avec-zend-framework/ .
    Je suis arrivé à réaliser l'exemple jusqu'au bout mais j'ai cependant du rajouter un paramètre dans mon fichier htaccess pour ne pas avoir "Application Error" dès le 1er affichage dans le dossier public
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setEnv APPLICATION_ENV development
    J'ai ensuite décidé de mettre l'application en ligne sur OVH pour en tester le fonctionnement.
    J'ai rajouté des paramètres dans le .htaccess pour ne pas avoir de problèmes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SetEnv PHP_VER 5
    SetEnv REGISTER_GLOBALS 0
    SetEnv MAGIC_QUOTES 0
    setEnv APPLICATION_ENV development
     
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    Lorsque je rentre dans le dossier public, j'ai l'erreur "An error occured, Application Error". J'ai bien vérifié mes paramètres de connexion à la BDD, bien créé ma table en ligne... Y a t-il moyen d'avoir un message plus parlant ?

    J'ai tout de même remarqué une piste pour résoudre le problème dans indexController.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public function indexAction()
        {
          $this->view->title = "Mes Albums";
       	  $this->view->headTitle($this->view->title, 'PREPEND');
      	  $albums = new Application_Model_DbTable_Albums();
      	  $this->view->albums = $albums->fetchAll(); }
    Si j'enlève "$albums = new Applicatio_Model..." j'arrive sur la vue de l'index...

    Est-ce que quelqu'un aurait une idée ? Merci

  2. #2
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Points : 663
    Points
    663
    Par défaut
    Salut,

    Déjà, c'est normal que tu ai du rajouter setEnv APPLICATION_ENV development dans le .htaccess. En fait, soit tu le rajoute ici, soit tu le rajoute dans les params du vhost. je ne l'ai pas vu dans le tuto mais ce mode permet d'afficher des erreurs qui ne seront pas affichées en mode production. Regarde la doc officielle de ZF pour connaitre en détail.

    Si tu essaie en enlevant 'Application' dans le nom de la classe ça donne quoi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $albums = new Model_DbTable_Albums();
    EDIT: en fait je viens de voir dans le tuto de ZF qu'ils ajoutent Application_ en début de nom de classe c'est nouveau... enfin pour moi!
    Effectivement le fait que tu ai juste 'Application error' qui s'affiche n'est pas normal, tu devrait avoir le stack complet de l'exception vu que tu est en mode 'development'.
    As-tu un ErrorController?
    Sinon tu peux chercher aussi du coté de la configuration d'apache, souvent quand il y a une erreur ça affiche ça...
    En local t'a quelle configuration de serveur?
    J'ai comparé avec mon .htaccess et c'est pareil à part que dans le miens j'ai ajouté ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Options -Indexes
    DirectoryIndex index.php
    Mais je pense pas que ça résoudra grand chose...

    Le tuto date de 2009, il y a eu des changements depuis, maintenant que tu connais un minimum, essaie de comparer avec le tuto de la doc officielle pour déceler d'éventuels modifications.
    Les idiots sont ceux qui ne posent jamais de question!

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    As-tu jeter un oeil sur ce post qui parle des différentes manipulation à faire en fonction des hébergeurs.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 82
    Points
    82
    Par défaut
    Décidément je peine à trouver une solution... En local je suis avec Wamp.

    J'ai lu le post pour bien configurer le .htaccess sur ovh qui est correct excepté que que j'ai conservé le dossier public et que je n'ai pas mis le index.php dans le dossier racine...

    Pour l'appel de ma classe "Albums", il y a bien le "Application_" qui s'est généré avec le Zend Tool.

    J'ai laissé le fichier errorcontroller.php par défaut.

    Quand j'essaye d'accéder à la page "Ajouter un album" ici j'ai erreur "page not found"

    Cependant dès que j'enlève ces deux lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $albums = new Application_Model_DbTable_Albums();
      	  $this->view->albums = $albums->fetchAll()
    On a accès à la page mais l'ajout ne fonctionne pas...

    Je viens de remarquer que même si je n'initialise pas la connexion BDD dans le "application.ini", je n'ai même pas d'erreur par rapport à la connexion qui ne se fait pas. Une idée ?

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Remplace ton errorController par celui-ci, on y verra plus clair :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    <?php
    class ErrorController extends Zend_Controller_Action {
     
        private $_flashMessenger;
        private $_exception;
        private static $errorMessage;
        private static $httpCode;
     
        public function preDispatch() {
            //$this->_helper->viewRenderer->setNoRender(false); // ne rend aucune vue automatiquement
            $this->_helper->resetHelpers();
            $this->_exception = $this->_getParam('error_handler');
            $this->_response->clearBody(); // on vide le contenu de la réponse
            $this->_response->append('error',null); // on ajoute un segment 'error' dans la réponse
     
            switch ($this->_exception->type) {
                case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
                case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
                    self::$httpCode = 404;
                    self::$errorMessage = 'Page introuvable';
                    break;
                case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER:
                    switch (get_class($this->_exception->exception)) {
                        case 'Zend_View_Exception' :
                            self::$httpCode = 500;
                            self::$errorMessage = 'Erreur de traitement d\'une vue';
                            break;
                        case 'Zend_Db_Exception' :
                            self::$httpCode = 503;
                            self::$errorMessage = 'Erreur de traitement dans la base de données';
                            break;
                        case 'Metier_Exception' :
                            self::$httpCode = 200;
                            self::$errorMessage = $this->_exception->exception->getMessage();
                            break;
                        case 'Autre_Exception' :
                            self::$httpCode = 500;
                            self::$errorMessage = 'Exemple avec une "autre exception"';
                            break;
                        default:
                            self::$httpCode = 500;
                            self::$errorMessage = 'Erreur inconnue';
                            break;
                    }
                    break;
            }
     
        }
     
        public function errorAction() {
            $this->getResponse()->setHttpResponseCode(self::$httpCode);
            $this->_errorMessage .= sprintf("<p>%s</p>",self::$errorMessage);
        }
     
        public function postDispatch() {
            $this->getResponse()->appendbody($this->_errorMessage,'error');
            $this->getResponse()->appendbody('<a href="javascript:history.back()">retour</a>','error');
            //if (Zend_Registry::get('debug') === true) {
            $message = sprintf('<hr>DEBUG INFOS :<br /><strong>Exception de type <em>%s</em> <font color="green">%s</font>  envoyée dans %s à la ligne %d </strong> <p>Stack Trace : %s </p><hr>',
                    get_class($this->_exception->exception),
                    $this->_exception->exception->getMessage(),
                    $this->_exception->exception->getFile(),
                    $this->_exception->exception->getLine(),
                    Zend_Debug::dump($this->_exception->exception,null,false)
            );
            $this->getResponse()->append('debug',$message);
        //}
        }
    }

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 82
    Points
    82
    Par défaut
    Effectivement il y a enfin des informations sur l'erreur ! Merci :-)

    Exception de type Zend_Db_Table_Exception No adapter found for Application_Model_DbTable_Albums envoyée dans /homez.42/imjweb/www/dev/tutoriel-zf/library/Zend/Db/Table/Abstract.php à la ligne 754

    D'après l'erreur il semblerait que je n'ai pas initialisé la connexion à la BDD dans le bootstrap, non ? Bizarre que ça fonctionne en local...

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Envoie le

    index , bootstrap et le config.ini

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 82
    Points
    82
    Par défaut
    Le fichier index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
     
    // Define path to application directory
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
     
    // Define application environment
    defined('APPLICATION_ENV')
        || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
     
    // Ensure library/ is on include_path
    set_include_path(implode(PATH_SEPARATOR, array(
        realpath(APPLICATION_PATH . '/../library'),
        get_include_path(),
    )));
     
    /** Zend_Application */
    require_once 'Zend/Application.php';
     
    // Create application, bootstrap, and run
    $application = new Zend_Application(
        APPLICATION_ENV,
        APPLICATION_PATH . '/configs/application.ini'
    );
    $application->bootstrap()
                ->run();
    Le fichier Bootstrap.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
     
    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
    	protected function _initAutoload()
    	{
    		$moduleLoader = new Zend_Application_Module_Autoloader(array(
    			'namespace' => '',
    			'basePath' => APPLICATION_PATH));
    		return $moduleLoader;
    	}
    	protected function _initViewHelpers()
    {
     
    	  // Initialisation de la vue et des helpers de vue
    		        $view = new Zend_View();
    		        $view->doctype('XHTML1_STRICT');
    			$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
    			$view->headTitle()->setSeparator(' - ');
      		        $view->headTitle(' Tutoriel Zend Framework');
    			$view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
                            // On ajoute le dossier des helpers
     
                            // On charge l'helper qui va se charger de la vue
    		        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
    		        $viewRenderer->setView($view);
     
     
    }
     
    }
    Et le application.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    [production]
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 0
     
     
    [staging : production]
     
    [testing : production]
     
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
     
     
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.frontController.params.displayExceptions = 0
     
     
    ; initialize database
    resources.db.adapter = "MYSQLI"
    resources.db.params.host = "mysql5-14.60gp"
    resources.db.params.username = "imjweb"
    resources.db.params.password = "" //le pass que je viens d'enlever
    resources.db.params.dbname = "imjweb"
    resources.db.params.date_format = "YYYY-MM-ddTHH:mm:ss"
    resources.db.isDefaultTableAdapter = true

  9. #9
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Ajoute ceci das ton boostrap

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    protected function _initDb()
        {
            // charge le plugin de resource db, en lui passant bien sur
            // sa configuration, lue depuis application.ini
    		$pluginDb = $this->getPluginResource('db');
    		$db = $pluginDb->getDbAdapter();
     
     
    		// N'oublions pas de retourner l'objet configuré afin que le bootstap
    		// puisse le stocker dans son registre et nous le retourner à la demande
    		return $db;
    	}

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 82
    Points
    82
    Par défaut
    Malheureusement encore une erreur :-(

    Fatal error: Call to a member function getDbAdapter() on a non-object in /homez.42/imjweb/www/dev/tutoriel-zf/application/Bootstrap.php on line 18

  11. #11
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Points : 663
    Points
    663
    Par défaut
    Normalement tu n'a pas besoin de faire un _initDb() dans ton bootstrap... Tu as suffisamment de paramètres dans application.ini pour initialiser ta base.

    Peux-tu remplacer ce paramètre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    resources.db.adapter = "MYSQLI"
    Par celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    resources.db.adapter = "pdo_mysql"
    Arf! Un autre truc aussi, tu as mis les paramètres de connexion dans la partie [development] de application.ini
    ça se trouve en ligne tu es en mode production alors essaie de mettre les parametres de connexion à mysql dans la partie [production]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    [production]
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 0
     
    ; initialize database
    resources.db.adapter = "MYSQLI"
    resources.db.params.host = "mysql5-14.60gp"
    resources.db.params.username = "imjweb"
    resources.db.params.password = "" //le pass que je viens d'enlever
    resources.db.params.dbname = "imjweb"
    resources.db.params.date_format = "YYYY-MM-ddTHH:mm:ss"
    resources.db.isDefaultTableAdapter = true
     
    [staging : production]
     
    [testing : production]
     
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
     
     
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.frontController.params.displayExceptions = 0
     
     
    ; initialize database
    resources.db.adapter = "MYSQLI"
    resources.db.params.host = "localhost"
    resources.db.params.username = "root"
    resources.db.params.password = "" 
    resources.db.params.dbname = "imjweb"
    resources.db.params.date_format = "YYYY-MM-ddTHH:mm:ss"
    resources.db.isDefaultTableAdapter = true
    A la racine de ton site cad dans le même répertoire que index.php tu doit avoir un .htaccess contenant ceci:
    En ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetEnv APPLICATION_ENV production
    En local:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetEnv APPLICATION_ENV development
    Les idiots sont ceux qui ne posent jamais de question!

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 82
    Points
    82
    Par défaut
    Un grand merci à vous manuscle et maitrePylos.

    En effet le fait d'avoir modifié le "configuration.ini" m'a immédiatement résolu le problème !

    Je ne savais pas que les balises [development : production] et [production] agissait sur le placement des éléments.

    Encore merci !!

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Remplace ton errorController par celui-ci, on y verra plus clair :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    <?php
    class ErrorController extends Zend_Controller_Action {
     
        private $_flashMessenger;
        private $_exception;
        private static $errorMessage;
        private static $httpCode;
     
        public function preDispatch() {
            //$this->_helper->viewRenderer->setNoRender(false); // ne rend aucune vue automatiquement
            $this->_helper->resetHelpers();
            $this->_exception = $this->_getParam('error_handler');
            $this->_response->clearBody(); // on vide le contenu de la réponse
            $this->_response->append('error',null); // on ajoute un segment 'error' dans la réponse
     
            switch ($this->_exception->type) {
                case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
                case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
                    self::$httpCode = 404;
                    self::$errorMessage = 'Page introuvable';
                    break;
                case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER:
                    switch (get_class($this->_exception->exception)) {
                        case 'Zend_View_Exception' :
                            self::$httpCode = 500;
                            self::$errorMessage = 'Erreur de traitement d\'une vue';
                            break;
                        case 'Zend_Db_Exception' :
                            self::$httpCode = 503;
                            self::$errorMessage = 'Erreur de traitement dans la base de données';
                            break;
                        case 'Metier_Exception' :
                            self::$httpCode = 200;
                            self::$errorMessage = $this->_exception->exception->getMessage();
                            break;
                        case 'Autre_Exception' :
                            self::$httpCode = 500;
                            self::$errorMessage = 'Exemple avec une "autre exception"';
                            break;
                        default:
                            self::$httpCode = 500;
                            self::$errorMessage = 'Erreur inconnue';
                            break;
                    }
                    break;
            }
     
        }
     
        public function errorAction() {
            $this->getResponse()->setHttpResponseCode(self::$httpCode);
            $this->_errorMessage .= sprintf("<p>%s</p>",self::$errorMessage);
        }
     
        public function postDispatch() {
            $this->getResponse()->appendbody($this->_errorMessage,'error');
            $this->getResponse()->appendbody('<a href="javascript:history.back()">retour</a>','error');
            //if (Zend_Registry::get('debug') === true) {
            $message = sprintf('<hr>DEBUG INFOS :<br /><strong>Exception de type <em>%s</em> <font color="green">%s</font>  envoyée dans %s à la ligne %d </strong> <p>Stack Trace : %s </p><hr>',
                    get_class($this->_exception->exception),
                    $this->_exception->exception->getMessage(),
                    $this->_exception->exception->getFile(),
                    $this->_exception->exception->getLine(),
                    Zend_Debug::dump($this->_exception->exception,null,false)
            );
            $this->getResponse()->append('debug',$message);
        //}
        }
    }
    Great now I can see the errors. I will go through your code to understand where is the change

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Server Application Error
    Par __fabrice dans le forum ASP
    Réponses: 5
    Dernier message: 22/08/2005, 12h22
  2. [ Tomcat ]débuguer application Struts sans pluggin Tomcat
    Par laurent.c123 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/07/2005, 15h32
  3. NET::FTP unknown error sans raison
    Par niocco dans le forum Modules
    Réponses: 11
    Dernier message: 29/06/2005, 21h21
  4. Réponses: 3
    Dernier message: 03/03/2005, 19h45
  5. l'application disparait sans prévenir
    Par Pentatruel dans le forum C++Builder
    Réponses: 6
    Dernier message: 24/01/2005, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo