PEAR DB connect Fehlermeldung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PEAR DB connect Fehlermeldung

    Hallo,

    ich bekomme folgende PEAR Fehlermeldung bei unserem Webhost:
    Das mySQL DB Passwort, User,etc sind alle richtig.
    Mein Webhost Support kann mir auch nicht weiterhelfen.

    Fatal error: DB Error: connect failed in /homepages/.../htdocs/_pear/pear/PEAR.php on line 762

    Benutze die DB Klasse.

    Wer kann helfen. Bin verzweifelt.

    Danke

  • #2
    tja. was steht denn in zeile 762 so alles drin?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Original geschrieben von Abraxax
      tja. was steht denn in zeile 762 so alles drin?
      zeile 762 ist bei mir irgendwo im konstruktor der PEAR_Error ...

      ich bekomme folgende PEAR Fehlermeldung bei unserem Webhost:
      offline funktioniert es?

      Fatal error: DB Error: connect failed in /homepages/.../htdocs/_pear/pear/PEAR.php on line 762

      Benutze die DB Klasse.
      hast du eine callback-funktion definiert, die die db-error behandelt?
      ala
      PHP-Code:
      PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, ... 
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Guten Morgen,

        Zeile 761-763:

        PHP-Code:
                if ($this->mode PEAR_ERROR_TRIGGER) {
                    
        trigger_error($this->getMessage(), $this->level);
                } 
        Offline auf meinem Localhost geht es wunderbar.
        Habe gerade nochmals die Zugangsdaten zur Datenbank abgeglichen.
        Die stimmen auch. Es kommt immer noch die Fehlermeldung:
        Fatal error: DB Error: connect failed in /homepages/.../htdocs/_pear/pear/PEAR.php on line 762

        Bin PEAR Anfänger, da ich die Webseite nun schon hochgeladen habe und dieses Problem bereits seit Freitag nicht lösen konnte bekomme ich nun Panik, da immer mehr Kunden anrufen.

        Mit Callback Funktionen kenne ich mich nicht aus. Könntest du mir eine Schnellanweisung geben ? Habe im Moment keine Zeit mir das beizubringen, muss nur so schnell wie möglich die Seite an laufen bekommen.

        Habe schon $objDB->getMessage() durch $objDB->getDebugInfo() ersetzt aber die Fehlermeldung ist die selbe. Hatte gedacht, dass das helfen würde.


        Wer kann helfen ?

        Danke
        Zuletzt geändert von compuboy1010; 03.06.2004, 10:40.

        Kommentar


        • #5
          hmm,

          mal nen auszug aus nem script
          PHP-Code:
            require 'DB.php';
            
          $dsn "mysql://name:pass@localhost/db";
            
          $db DB::connect($dsn);

            if (
          DB::isError($db)) 
              die (
          $db->getMessage());

            
          PEAR::setErrorHandling(PEAR_ERROR_CALLBACK'handle_pear_error');

            function 
          handle_pear_error($ErrorObj) {
              if (
          get_class($ErrorObj) == 'db_error')
                echo 
          'DB-Fehler:<br />';
              else
                echo 
          'Sonstiger PEAR-Fehler:<br />';
              die(
          $ErrorObj->getMessage().'<br />'.$ErrorObj->getDebugInfo());
            } 
          mußt mal schauen, hab das auch ne weile nicht benutzt *g zumindest solltest du eine aussagekräftigere fehlermeldung kriegen
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Danke derHund,

            werde es mir mal anschauen.
            Habe gerade eine Nachricht von unserem Webhost bekommen, die evtl das Problem begründet:

            <support von meinem webhost>
            Ich habe mir die Datei config.php im Hauptverzeichnis der Seite angeschaut und konnte dort keinen Fehler feststellen. Allerdings ist mir die genaue Syntax an dieser Stelle auch nicht vertraut. Auf dem Datenbankserver selbst konnte ich in den Logfiles keinen Zugriff auf diese Datenbank feststellen. Ich habe das Skript home.php auf der Kommandozeile mit "strace php4 home.php4" aufgerufen. Hier fiel mir folgende Zeile auf:
            connect(5, {sin_family=AF_UNIX, path="/var/run/mysqld/mysqld.sock"}, 110) = -1 ENOENT (No such file or directory)
            Wenn ich das richtig interpretiere, dann wird an dieser Stelle versucht, den Socket auf dem lokalen Server zu öffnen. Die Datenbanken laufen aber auf einem anderen Server. Ich kenne PEAR jetzt an dieser Stelle zu wenig, um sagen zu können, wo man einträgt, dass er sich nicht auf "localhost" verbinden soll. Aber vielleicht hilft Ihnen ja dieser Hinweis schon weiter.
            </support von meinem webhost>

            derHund, kannst du damit etwas anfangen?

            Ich verbinde nämlich so, wie auf der PEAR Seite beschrieben:


            PHP-Code:
            require_once 'DB.php';

            $dsn = array(
                
            'phptype'  => 'mysql',
                
            'username' => 'someuser',
                
            'password' => 'apasswd',
                
            'hostspec' => 'db.ourhost.com',
                
            'database' => 'thedb',
            );

            $options = array(
                
            'debug'       => 2,
                
            'portability' => DB_PORTABILITY_ALL,
            );

            $db =& DB::connect($dsn$options);
            if (
            DB::isError($db)) {
                die(
            $db->getMessage());


            DANKE!!!!!!

            Kommentar


            • #7
              Original geschrieben von derHund
              hmm,

              mal nen auszug aus nem script
              PHP-Code:
                require 'DB.php';
                
              $dsn "mysql://name:pass@localhost/db";
                
              $db DB::connect($dsn);

                if (
              DB::isError($db)) 
                  die (
              $db->getMessage());

                
              PEAR::setErrorHandling(PEAR_ERROR_CALLBACK'handle_pear_error');

                function 
              handle_pear_error($ErrorObj) {
                  if (
              get_class($ErrorObj) == 'db_error')
                    echo 
              'DB-Fehler:<br />';
                  else
                    echo 
              'Sonstiger PEAR-Fehler:<br />';
                  die(
              $ErrorObj->getMessage().'<br />'.$ErrorObj->getDebugInfo());
                } 
              mußt mal schauen, hab das auch ne weile nicht benutzt *g zumindest solltest du eine aussagekräftigere fehlermeldung kriegen
              Habe dieses Skript eingebunden und es hat gar keine Änderung gebracht. Es kommt noch genau dieselbe Fehlermeldung.
              Kein bischen mehr aufschlussreich.

              Boah ich bin echt fertig.

              Kommentar

              Lädt...
              X