Page 1 sur 1

Cannot redeclare class Image_Graph

Posté : 09 sept. 2012, 14:17
par Patriboom
Bonjour à tous,

j'ai ce message lorsque je tente de créer un graphique dans un iframe
Cannot redeclare class Image_Graph in /home/rcmissi/public_html/plongee/Image/Graph.php on line 872

Première question:
Je ne comprends pas le message. Est-ce que ça veut dire que j'ai tenté de redéclaré l'objet (et c'est interdit) ou est-ce que ça veut dire que ça veut dire que le serveur a tenté de le faire et n'y est pas arrivé?

Deuxième question:
Ça fait ça sur mon serveur en ligne (public rcmission.net ), mais le même code et toutes les mêmes commandes ne retournent aucun message (au contraire, fonctionnent très bien) sur mon serveur de développement ET sur un autre serveur en ligne (production cartefoi.net ) Serait-ce donc un problème du serveur ? Si oui, comment corriger? Manquerais-je d'une composante pour faire rouler la bibliothèque GD sur mon serveur de production?


Merci de votre aide.

Re: Cannot redeclare class Image_Graph

Posté : 09 sept. 2012, 21:12
par moogli
salut,
Cannot redeclare class Image_Graph in /home/rcmissi/public_html/plongee/Image/Graph.php on line 872
literallement :

la classe Image_Graph ne peux pas être ré déclarrée dans /home/rcmissi/public_html/plongee/Image/Graph.php à la ligne 872

donc clairement soit tu as un include ou require d'un fichier qui déclare la classe Image_Graph à la ligne 872 du fichier Graph.php

soit tu as un class Image_Graph { ligne 872 de Graph.php

sans code on ne peux pas t'aider plus à la résolution.

Par contre si avec le même code tu n'as pas d'erreur indiquée, c'est que tu n'a pas la même configuration du niveau de rapport d'erreur.
celui qui indique l'erreur doit être en E_ALL et la autre doivent avoir un niveau inférieure.

cela est visible avec dans un phpinfo();

plus d'info http://fr.php.net/manual/fr/errorfunc.c ... -reporting


@+

Re: Cannot redeclare class Image_Graph

Posté : 10 sept. 2012, 02:50
par Patriboom
Merci pour ces pistes.

Le code qui provoque l'erreur n'est pas de moi, mais de la bibliothèque GD, je ne l'ai pas altéré.
La ligne mentionnée dans le message d'erreur est simplement une accolade fermante, fin de la classe comme ceci
        if ((!isset($param['output'])) || ($param['output'] !== 'none')) {               
            if (isset($param['filename'])) {
                if ((isset($param['tohtml'])) && ($param['tohtml'])) {
                    return $this->_canvas->toHtml($param);
                } else {
                    return $this->_canvas->save($param);
                }
            } else {
                return $this->_canvas->show($param);
            }
        }
    }
}  //ligne 872
Quant à la configuration d'erreur, je ne trouve rien comme E_All mais plutôt ceci:
display_errors STDOUT STDOUT
display_startup_errors Off Off

( extrait du phpinfo() )

J'ai pensé que ce pouvais être les droits en écriture de mon répertoire appelé (où enregistrer le document final. Mais il est en 777. Est-ce trop d'ouverture?
J'essaie 766 et ... ce semble fonctionner.

Je vais laisser ouvert quelque temps encore, puis si les bons résultats continuent, je reviendrai marquer comme "Résolu".
Ça servira à quelqu'un d'autre.

Merci d'avoir pris le temps.

Re: [RESOLU] Cannot redeclare class Image_Graph

Posté : 10 sept. 2012, 09:17
par Patriboom
J'ai inscrit "résolu", car après avoir changé les droits au sous-répertoire où sont enregistrés des graphes produits par Image_Graph, tout rentre dans l'ordre. Droits maximums permis: 766

Merci