luti: Postgres will unter XAMPP nicht laufen

Hallo,

folgendes Problem: Ich habe eine XAMPP-Installation (Windows Server 2003) laufen und paralell Postgres/PostGIS installiert. Nun versuche ich, eine Verbindung zur Datenbank herzustellen - leider vergeblich.

In der php.ini habe ich extension=php_pgsql.dll gesetzt. Eine phpinfo()-Abfrage ergibt jedoch nichts von Postgres ... Dann habe ich mit dl() versucht, die DLL zur Laufzeit zu laden. Doch ich erhalte die Fehlermeldung "Fatal error: Call to undefined function dl()". In der php.ini habe ich nachgeschaut, alles erlaubt.

Nun habe ich die entsprechende Datei über die Komandozeile aufgefrufen - dort ist die DLL zwar auch nicht über die ini geladen, die dl()-Funktion funktioniert jedoch und die DLL ist danach geladen.

Ich hatte das dumpfe Gefühl, dass PHP als CGI und nicht als Modul läuft und vielleicht eine andere ini geladen wird. In der httpd-xampp.conf ist jedoch die Modul-Variante eingestellt.

Nun bin ich mit meinem Latein am Ende ... Hat jemand eine Idee oder einen konstruktiven Vorschlag? Danke!

luti

  1. Hi there,

    Ich hatte das dumpfe Gefühl, dass PHP als CGI und nicht als Modul läuft und vielleicht eine andere ini geladen wird.

    Dumpfe (wie im übrigen auch alle anderen) Gefühle sind extrem schlechte Ratgeber in der elektronischen Datenverarbeitung. Was befragst Du nicht einfach phpinfo?

    1. Hallo,

      Dumpfe (wie im übrigen auch alle anderen) Gefühle sind extrem schlechte Ratgeber in der elektronischen Datenverarbeitung. Was befragst Du nicht einfach phpinfo?

      Das stimmt ... es läuft tatsächlich als Modul (Server API: Apache 2.0 Handler). Ich verstehe trotzdem nicht, warum im Command Line Interface Modus die dl() funktioniert, im Modul-Modus jedoch nicht (trotz anders lautender ini-Anweisungen).

      Dank und Gruß,
      luti

      1. Hallo,

        Ich verstehe trotzdem nicht, warum im Command Line Interface Modus die dl() funktioniert, im Modul-Modus jedoch nicht (trotz anders lautender ini-Anweisungen).

        Grumpf. "dl() wird in multithreaded WebServern nicht unterstützt. In solch einer Umgebung verwenden Sie bitte die extensions Anweisung in Ihrer php.ini. Die CGI und CLI Module sind davon jedoch nicht betroffen!"

        Nun stellt sich aber immer noch die Frage, warum die Anweisung in der INI nicht berücksichtigt wird!

        Dank und Gruß,
        luti