Absturz beim Erstellen von PEAR-Objekten...

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

  • Absturz beim Erstellen von PEAR-Objekten...

    Hallo,

    ich habe mal wieder ein sehr merkwürdiges Problem.
    Ich habe ein eigentlich fertiges Script, was auf meinen beiden lokalen Servern (einmal unter Windows, einmal unter Linux) gut läuft.
    Es nutzt die PEAR-Klassen DB und Auth.
    Als ich es auf unseren Server geschmissen habe, wunderte ich mich, dass absolut keine Anzeige kam, wenn ein PEAR-Objekt im Spiel war. Soll z.B. heißen, dass das install-Script zwar erst die allgemeinen Informationen anzeigt, aber dann, wenn es wirklich die Datenbank benutzen soll einfach aufhört - ohne Fehlermeldung.
    Ich konnte mit Leuchtspurmunition feststellen, dass es wirklich die beiden Code-Zeilen zur jeweiligen Objekt-Erstellung sind, also

    $db = DB::connect($dsn);

    und

    $auth = new Auth(...);

    Obwohl der Betreiber gesagt hat, dass PEAR installiert ist, habe ich auch schon versucht, die Klassen in ein Unterverzeichnis zu legen und von dort zu includen.
    Es sei angemerkt, dass der Server keine Fehler produziert, auch wenn ich mit Absicht eine nicht existente Datei include, und das, obwohl er eigentlich alle Fehler außer Notices anzeigen müsste.

    Nebenfrage: Gibt es eigentlich eine Möglichkeit, in einem Script festzustellen, ob PEAR installiert ist?

    Grüße

    neogrande

  • #2
    Re: Absturz beim Erstellen von PEAR-Objekten...

    Original geschrieben von neogrande
    obwohl er eigentlich alle Fehler außer Notices anzeigen müsste
    eigentlich klingt, als hättest du das nicht kontrolliert

    was sagt denn phpinfo(); zu error_reporting und display_error?
    du veränderst die beiden optionen ja nicht in deinem skript oder?
    lass sie dir per ini_get mal direkt vor dem include/anlegen einer instanz ausgeben
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      igentlich klingt, als hättest du das nicht kontrolliert
      Das ist in sofern richtig, als dass ich mich auf den Admin verlassen habe, der in die config geschaut hatte.
      display_errors ist zwar on, aber error_reporting war auf null.
      ein
      Code:
      ini_set("error_reporting", E_ALL);
      brachte mir das gewünschte Ergebnis, obwohl in der Doku steht, man sollte als Parameter einen String angeben (damit klappts nicht.)
      Siehe da, er findet das pear nicht und scheitert am includieren.
      Offensichtlich ist der include-path falsch eingestellt (laut fehlermeldung ist er "/home"...

      Also eigenes pear genommen (was ich einfach auf den Server kopiert habe.)
      -->
      Fatal error: Failed opening required 'Auth/Container.php'
      und zwar in der Datei Auth/Container/DB.php
      klar, der include-path wird ja nicht richtiger...

      Kommentar


      • #4
        Ok,

        es ist das erste Mal, dass ein Fehler wohl auf den Server zurückgeführt werden kann, denn es liegt offenbar am falschen include_path.
        Ich habe ihn mal manuell mit ini_set() auf mein hochgeschobenes PEAR-Verzeichnis gelegt und alles geht wunderbar *puh*

        *traueniemalsdeinenadmins*

        Kommentar

        Lädt...
        X