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 :

Erreur du type : must not throw an exception


Sujet :

Zend Framework PHP

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Par défaut Erreur du type : must not throw an exception
    Bonjour,
    Voici un petit script qui ne devrait pas poser de probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    // Affichage de la date courante
     
    set_include_path('.'
    . PATH_SEPARATOR . './library/'
    . PATH_SEPARATOR . get_include_path());
     
    require 'Zend/Date.php';
    $date = new Zend_Date();
    echo $date;
    En local pas de probleme mais sur mon serveur de production je recois l'erreur suivante :

    Fatal error: Method Zend_Date::__toString() must not throw an exception in /index.php on line 10

    La configuration sur mon serveur de production est la suivante:

    monsite
    | --/library/zend/
    | --index.php

    Cette erreur n'apparait que lorsque je demande :

    Sans cette ligne de code je recois une page blanche.

    Quelqu'un peut-il m'eclairer ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Salut,

    c'est à cause de l'objet zend_date qui envoie une exception depuis la méthode __toString.

    par contre n'étant pas utilisateur de zend je ne saurait te dire :
    si c'est un bug connu
    si c'est corrigé
    comment le corriger en restant dans l'esprit zend.

    Cependant comme cela, à tout hasard, à coup de boule de crystal, je dirais que tu devrais lu donner une position dans le temps à ton objet date pour qu'il t'affiche une date valide....

    a plus

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Par défaut
    Merci pour la reponse.
    J'ai essaye de multiple combinaison sur l'objet Zend_Date() mais rien n'y fait j'obtiens toujours la meme erreur.
    Je doute cependant qu'il puisse s'agir d'un bogue au niveau de Zend Framework, d'autant que ce script fonctionne tres bien en local.
    Le plus surprenant est que je n'arrive pas a reproduire cette erreur son mon serveur local qui, comme je l'ai signale, affiche la date sans erreur.
    Au sein de la communaute il semble que je ne suis pas le seul a rencontrer ce type de probleme. Cependant je n'ai pas trouve de reponse concrete pouvant m'eclairer sur le sujet.
    Je pense qu'il s'agit d'un probleme de config sur mon serveur de production mais j'avoue avoir quelques lacunes sur le sujet.
    J'espere qu'une bonne ame avisee me viendra en aide.

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    il s'agit d'une modification qui existe depuis PHP 5.2 qui fait qu'on ne peut plus lancer d'exception dans "__toString"
    http://bugs.php.net/bug.php?id=37537

    dans ton cas essaye "$date->get()" pour afficher la date

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Par défaut
    Merci,
    Cela fonctionne.

    Ci-joint le script final apres reparation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    // Affichage de la date courante
     
    set_include_path('.'
    . PATH_SEPARATOR . '/library/'
    . PATH_SEPARATOR . get_include_path());
     
    require 'Zend/Date.php';
    $date = new Zend_Date();
     
    echo $date->get(Zend_Date::W3C);
    A bientot pour de nouvelles aventures

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

Discussions similaires

  1. erreur de type : is not a function
    Par wahhh dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/07/2013, 10h25
  2. Réponses: 1
    Dernier message: 29/04/2012, 11h30
  3. Réponses: 2
    Dernier message: 16/05/2011, 09h33
  4. Réponses: 0
    Dernier message: 20/09/2010, 17h55
  5. erreur de type Exception de HRESULT
    Par zit_zit dans le forum VB.NET
    Réponses: 10
    Dernier message: 18/12/2007, 17h53

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