+ Antworten
Ergebnis 1 bis 2 von 2

Thema: include_path

  1. #1
    TP-Junior clauer macht alles soweit korrekt
    Registriert seit
    Jul 2003
    Ort
    Eisenbeg / Pfalz
    Beiträge
    16

    Question include_path

    Guten Tag,

    für ein Projekt benötige ich bestimmte, vorgegebene PEAR Klassen. Das Projekt habe ich so erweitert, dass es ein eigenes Verzeichnis für PEAR hat. Den include_path habe ich so abgeändert (über ini_set()), dass er auf dieses Verzeichnis zeigt.

    Nun das Problem.

    Auf meinem System sind jetzt zwei PEAR Verzeichnisse eingerichtet (das des Projekts und das Standardverzeichnis; in dieser Reihenfolge), die z.T. gleiche Klassen jedoch in unterschiedlichen Versionen enthalten.

    Jetzt bekomme ich folgende Fehlernachricht: "2: Invalid return payload: enabling debugging to examine incoming payload", die darauf hinweist, dass versucht wurde, das gleiche Script nochmals zu laden.

    Kann mir jemand sagen, in welcher Reihenfolge der include_path abgearbeitet wird und ob diese Konstruktion überhaupt möglich ist, bzw. wie man erreichen kann, dass jedes Projekt sein eigenes PEAR Verzeichnis hat, so es nötig sein sollte (wegen der Abhängigkeit von bestimmten PEAR Versionen)?

    Vielen Dank für jede Hilfe
    Christian Lauer
    Herzliche Grüße
    Christian

  2. #2
    TP-Junior clauer macht alles soweit korrekt
    Registriert seit
    Jul 2003
    Ort
    Eisenbeg / Pfalz
    Beiträge
    16

    Wink

    Das Thema ist erledigt. Für alle, die das gleiche Problem haben, hier eine Lösung (sie geht davon aus, dass der Projektpfad variabel entsprechend der Installation in einer Konstanten abgelegt ist, hier: "PathToProject"):

    (1) Im Projekt ein eigenes Verzeichnis für PEAR anlegen.

    (2) Die benötigten Klassenbibliotheken mit den entsprechenden Versionen hineinkopieren.

    (3) In einem config-file folgenden Code einfügen:

    Snippet starts here
    ------------------------
    // Set local PEAR-path
    $strOS = strtoupper(PHP_OS); // OS PHP is running on
    $strPath = ''; // Windows: PathToProject - slashes removed with backslashes

    /**
    * Get the OS PHP is running on
    * This is important because windows wants backslashes and a semi-colon within the include_path
    * Linux / Unix are taking slashes and a double-point instead
    */
    if (substr($strOS, 0, 3) == 'WIN')
    {
    $strPath = str_replace('/', '\\', $globalCfgPathToProject) . '\pear_loc';
    ini_set('include_path', $strPath . ';' . ini_get('include_path'));
    }
    else
    {
    ini_set('include_path', $globalCfgPathToProject . '/pear_loc:' . ini_get('include_path'));
    }
    Herzliche Grüße
    Christian

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51