Announcement

Collapse
No announcement yet.

undefined method DB_Error::fetchInto()

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • undefined method DB_Error::fetchInto()

    j 'ai le pb suivant :

    Fatal error: Call to undefined method DB_Error::fetchInto() in /usr/local/oreon/www/index.php on line 204

    je crois comprendre qu'il recherche une fonction qu'il ne triuve pas.
    cette fonction fait appel au paquet PEAR qui pourtant est installé.

    J'ai donc ouvert le le fichier de conf de "index.php" dans le chemin ci dessus et je remarque que je vois nulle part qu'il fait reference au paquet PEAR.

    est ce quelqu'un à une idee??

    merci

  • #2
    Bonjour,

    J'ai exactement le même problème que toi mais peux-tu nous dire quelle version de Centreon tu utilises ?

    Moi j'utilise la version 1.4.1 (la toute dernière) et j'ai aussi tous les packages pear installés.

    Je pense qu'il s'agit d'un problème d'accès à la base MySQL et donc oreon pense que la base est vide, car cette fonction fetchInto() prend une ligne de table pour la mettre dans un tableau si j'ai bien compris.

    Il faudrait analyser le code de index.php mais je ne connais pas du tout le php.

    J'ai tenté de modifier les fichiers de configuration de la base de donnée DBconnect.php et DBOdsConnect.php situés dans /usr/local/oreon/www/


    J'ai également essayé de donner des privileges aux utilisateurs root et oreon sur la base de donnée oreon

    J'ai essayé plein de fois des mises à jour pear

    J'ai aussi plein de fois réinstaller Centreon... sans succés !

    Nous ne sommes pas les seuls à avoir ce problème. J'ai essayé les solutions de certains mais sans succès également

    Je ne sais pas vraiment de quoi cela peut venir. Je pense repasser à une version antérieure de Centreon.

    Si quelqu'un passe par ici, Merci beaucoup de son aide
    Fedora Core 6 + Nagios 2.9 + Centreon 1.4.2.3
    50 hôtes - 150 services
    Graphiques sans trous

    Comment


    • #3
      Vu le message d'erreur c'est clairement qu'il manque un paquet PEAR. Je te conseille de faire une mise à jour de PEAR et de réinstaller tous les packets, notamment ceux concernant la BDD.

      Code:
      pear upgrade PEAR
      pear install --force --loose --alldeps DB DB_DataObject
      Système : Debian Etch 4.0r8 / Apache 2.2.3 / PHP 5.2.0 / MySQL 5.0.32
      Monitoring : Nagios 2.12 / Plugins 1.4.13 / Centreon 1.4.2.7

      Comment


      • #4
        Je viens de réinstaller Centreon 1.4.1 ta commande marche elle installe bien des mises à jour de DB mais ça n'a pas résolu le problème

        Il y a toujours le meme message d'erreur dans les logs apache...

        Il faudrait savoir ce que fait cette fonction fetchInto et d'ou vient le message d'erreur...

        Qu'est-ce qui lui manque à cette fonction pour qu'elle renvoi ce message...
        Fedora Core 6 + Nagios 2.9 + Centreon 1.4.2.3
        50 hôtes - 150 services
        Graphiques sans trous

        Comment


        • #5
          UP !

          Personne n'a trouvé la solution ?

          Quelqu'un n'ayant pas de problèmes peut-il publier un exemple de ses fichiers oreon.conf.php, DBconnect.php et DBOdsConnect.php car je pense que c'est ces fichiers qui provoquent une erreur...


          Merci d'avance de votre aide.

          Bonne journée.
          Fedora Core 6 + Nagios 2.9 + Centreon 1.4.2.3
          50 hôtes - 150 services
          Graphiques sans trous

          Comment


          • #6
            oreon.conf.php en contient que les informations de connexion aux bases et oreon.conf.php/DBOdsConnect.php ne font qu'établir cette connexion, il n'y a rien à modifier ou qui peut poser problème dans ces fichiers.

            Le message d'erreur est très clair "Call to undefined method DB_Error::fetchInto()" signifie qu'elle n'est pas définie et donc n'existe pas, c'est obligatoirement un problème d'inclusion ou de PEAR, quelque chose qui n'a pas été fait correctement lors de l'install.

            Vérifie que le chemin vers ton répertoire PEAR est correct et que le fichier DB.php dans celui-ci contient bien la définition "function fetchInto(....)"
            Système : Debian Etch 4.0r8 / Apache 2.2.3 / PHP 5.2.0 / MySQL 5.0.32
            Monitoring : Nagios 2.12 / Plugins 1.4.13 / Centreon 1.4.2.7

            Comment


            • #7
              Le chemin de DB.php est /usr/share/pear/DB.php

              Voici la définition de la fonction dans le fichier :

              PHP Code:
              function fetchInto(&$arr$fetchmode DB_FETCHMODE_DEFAULT$rownum null)
                  {
                      if (
              $fetchmode === DB_FETCHMODE_DEFAULT) {
                          
              $fetchmode $this->fetchmode;
                      }
                      if (
              $fetchmode === DB_FETCHMODE_OBJECT) {
                          
              $fetchmode DB_FETCHMODE_ASSOC;
                          
              $object_class $this->fetchmode_object_class;
                      }
                      if (
              is_null($rownum) && $this->limit_from !== null) {
                          if (
              $this->row_counter === null) {
                              
              $this->row_counter $this->limit_from;
                              
              // Skip rows
                              
              if ($this->dbh->features['limit'] === false) {
                                  
              $i 0;
                                  while (
              $i++ < $this->limit_from) {
                                      
              $this->dbh->fetchInto($this->result$arr$fetchmode);
                                  }
                              }
                          }
                          if (
              $this->row_counter >= (
                                  
              $this->limit_from $this->limit_count))
                          {
                              if (
              $this->autofree) {
                                  
              $this->free();
                              }
                              return 
              null;
                          }
                          if (
              $this->dbh->features['limit'] === 'emulate') {
                              
              $rownum $this->row_counter;
                          }

                          
              $this->row_counter++;
                      }
                      
              $res $this->dbh->fetchInto($this->result$arr$fetchmode$rownum);
                      if (
              $res === DB_OK) {
                          if (isset(
              $object_class)) {
                              
              // default mode specified in the
                              // DB_common::fetchmode_object_class property
                              
              if ($object_class == 'stdClass') {
                                  
              $arr = (object) $arr;
                              } else {
                                  
              $arr = new $object_class($arr);
                              }
                          }
                          return 
              DB_OK;
                      }
                      if (
              $res == null && $this->autofree) {
                          
              $this->free();
                      }
                      return 
              $res;
                  } 
              Je comprends bien ce que tu veux dire Archi c'est vrai qu'à la vue du message on pourrait penser qu'il manque un truc.

              Mais voila j'ai la fonction qui est définie, j'ai tous les modules PEAR installé (j'ai fait un pear list) avec les dépendances, j'ai essayé des commandes...

              De toutes façon à l'install Centreon check si tu as tous les modules PEAR et pour moi tout était OK.
              Mais dés l'install fini page blanche et ce maudit message dans le log Apache.

              Donc ne sachant plus quoi faire je me suis que ça pourrait être une erreur dans les fichiers de conf...

              Par contre le chemin vers le répertoire PEAR est défini dans un des fichiers Centreon ? Si oui dans quel fichier ?

              Merci beaucoup de ton aide.
              Fedora Core 6 + Nagios 2.9 + Centreon 1.4.2.3
              50 hôtes - 150 services
              Graphiques sans trous

              Comment


              • #8
                J'ai oublié de préciser que j'ai les accès et les privilèges aux bases de données oreon et ods pour les utilisateurs root et oreon mais j'imagine que c'est déja configuré lors de l'install de Centreon.
                Fedora Core 6 + Nagios 2.9 + Centreon 1.4.2.3
                50 hôtes - 150 services
                Graphiques sans trous

                Comment


                • #9
                  Originally posted by Aviscdr View Post
                  Par contre le chemin vers le répertoire PEAR est défini dans un des fichiers Centreon ? Si oui dans quel fichier ?
                  Oui il est défini dans /etc/oreon.conf, tu as une ligne
                  Code:
                  PEAR_PATH=/usr/share/pear
                  Autre chose à laquelle je pense, as-tu installé la bonne version de PEAR pour ta version de PHP ? Ainsi si tu as PEAR pour PHP5 il ne fonctionnera pas avec PHP4.
                  Système : Debian Etch 4.0r8 / Apache 2.2.3 / PHP 5.2.0 / MySQL 5.0.32
                  Monitoring : Nagios 2.12 / Plugins 1.4.13 / Centreon 1.4.2.7

                  Comment


                  • #10
                    Oui entre temps j'avais vu ou était le fichier de conf oreon le voici :

                    Code:
                    INSTALL_DIR_OREON=/usr/local/oreon
                    NAGIOS_ETC=/etc/nagios
                    NAGIOS_PLUGIN=/usr/lib/nagios/plugins
                    NAGIOS_BIN=/usr/sbin/nagios
                    INSTALL_DIR_NAGIOS=/etc/nagios
                    RRD_PERL=/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
                    SUDO_FILE=/etc/sudoers
                    WEB_USER=apache
                    WEB_GROUP=apache
                    NAGIOS_USER=nagios
                    NAGIOS_GROUP=nagios
                    BIN_RRDTOOL=/usr/bin/rrdtool
                    BIN_MAIL=/bin/mail
                    PEAR_PATH=/usr/share/pear
                    Voici également ma config PEAR si ça peut servir :


                    Code:
                    Configuration (channel pear.php.net):
                    =====================================
                    Auto-discover new Channels     auto_discover    <not set>
                    Default Channel                default_channel  pear.php.net
                    HTTP Proxy Server Address      http_proxy       <not set>
                    PEAR server [DEPRECATED]       master_server    pear.php.net
                    Default Channel Mirror         preferred_mirror pear.php.net
                    Remote Configuration File      remote_config    <not set>
                    PEAR executables directory     bin_dir          /usr/bin
                    PEAR documentation directory   doc_dir          /usr/share/pear/doc
                    PHP extension directory        ext_dir          /usr/lib/php/modules
                    PEAR directory                 php_dir          /usr/share/pear
                    PEAR Installer cache directory cache_dir        /var/cache/php-pear
                    PEAR data directory            data_dir         /usr/share/pear/data
                    PEAR Installer download        download_dir     /tmp/pear/download
                    directory
                    PHP CLI/CGI binary             php_bin          /usr/bin/php
                    php.ini location               php_ini          <not set>
                    PEAR Installer temp directory  temp_dir         /tmp/pear/temp
                    PEAR test directory            test_dir         /usr/share/pear/test
                    Cache TimeToLive               cache_ttl        3600
                    Preferred Package State        preferred_state  alpha
                    Unix file mask                 umask            22
                    Debug Log Level                verbose          1
                    PEAR password (for             password         <not set>
                    maintainers)
                    Signature Handling Program     sig_bin          /usr/local/bin/gpg
                    Signature Key Directory        sig_keydir       /etc/pearkeys
                    Signature Key Id               sig_keyid        <not set>
                    Package Signature Type         sig_type         gpg
                    PEAR username (for             username         <not set>
                    maintainers)
                    User Configuration File        Filename         /root/.pearrc
                    System Configuration File      Filename         /etc/pear.conf
                    ma version PHP est 5.1.6 et ma version de PEAR est 1.6.2

                    Pourquoi me parles-tu de PHP 4 Centreon en a besoin ?
                    Fedora Core 6 + Nagios 2.9 + Centreon 1.4.2.3
                    50 hôtes - 150 services
                    Graphiques sans trous

                    Comment


                    • #11
                      Bonjour,

                      Je rencontre le même problême que vous.
                      Et une autre personne sur un forum m'a dit que c'était un problème avec mes base de données.
                      Effectivement j'ai vu que ma base centreon n'avait qu'un table CCS_color, mais je n'ai aucune erreur qui apparait lors de l'install .


                      Si l'un d'entre vous à une idée je suis preneur

                      Comment


                      • #12
                        quelle distrib ?
                        Julien Mathis
                        Centreon Project Leader
                        www.merethis.com |

                        Comment


                        • #13
                          Bonjour julio,

                          je suis sur une debian etch / nagios 2.9 /php 5/ mysql 5 /PEAR 1.6.2

                          cela fait plusieurs fois que je reinstalle centreon avec toujours la même erreur.

                          As tu déjà rencontré ce problèmes?

                          Merci de ta réponse
                          Last edited by Nicolas; 24 January 2008, 11:11.

                          Comment


                          • #14
                            I had Centreon 1.4.3 running until I made some changes to my mysql config to install
                            another application.

                            I stepped through the changes commenting out one at a time until Centreon started working :

                            You might check for this setting in my.cnf

                            innodb_log_file_size = 256M

                            Hope this helps

                            Greg Porter

                            P.S. sorry about the french I used a online translator.


                            J'avais Centreon 1.4.3 courir jusqu'à ce que je fait quelques changements à ma configuration pour installer mysql
                            Une autre application.

                            J'ai renforcé par les changements en commentant un à la fois jusqu'à ce que Centreon commencé à travailler:

                            Vous pouvez vérifier ce paramètre dans my.cnf

                            Innodb_log_file_size = 256M

                            Hope this helps

                            Greg Porter

                            P.S. Désolé le français j'ai utilisé un traducteur en lign

                            Comment


                            • #15
                              Originally posted by gsporter View Post
                              I had Centreon 1.4.3 running until I made some changes to my mysql config to install
                              another application.

                              I stepped through the changes commenting out one at a time until Centreon started working :

                              You might check for this setting in my.cnf

                              innodb_log_file_size = 256M

                              Hope this helps

                              Greg Porter

                              P.S. sorry about the french I used a online translator.


                              J'avais Centreon 1.4.3 courir jusqu'à ce que je fait quelques changements à ma configuration pour installer mysql
                              Une autre application.

                              J'ai renforcé par les changements en commentant un à la fois jusqu'à ce que Centreon commencé à travailler:

                              Vous pouvez vérifier ce paramètre dans my.cnf

                              Innodb_log_file_size = 256M

                              Hope this helps

                              Greg Porter

                              P.S. Désolé le français j'ai utilisé un traducteur en lign
                              bonjour a tous,
                              quelqu'un a resolu le probleme "Call to undefined method DB_Error::fetchInto()" ?

                              Comment

                              Working...
                              X