Hallo Holm, Du schreibst:
>ähm na logisch habe ich ne info.php zum testen im root des jeweiligen >apache2 dirs liegen, bloss sehe ich in der Ausgabe leider nicht ob php >als cgi oder als Modul geladen wird. > >Wo steht denn das dort ? Wenn Du die Ausgabe von phpinfo() anschaust, findest Du im oberen Kopf der Ausgabe die Zeile "Server API": - die Angabe "Apache 2.0 Handler" bedeutet, PHP wurde als PHP-Modul aufgerufen (unter dem Apache 2.0 Webserver) - die Angabe "CGI/FastCGI" bedeutet, PHP wurde als CGI aufgerufen und zwar in diesem Falle als FastCGI. >>> Und dann verseth ich nicht wann php4 als Modul und wann als cgi >>> benutzt wird ? >> >> Es wird dann als Modul benutzt wenn man seinem Apache gesagt hat das >> er das Modul laden soll.... ansonsten ist ein Handler zu definieren >> welcher das Programm php (in seiner CGI Form) aufruft. >> >> >> z.B Apache 1: >> LoadModule php5_module libexec/libphp5.so >> AddModule mod_php5.c >> >> DirectoryIndex index.php index.php3 index.php4 index.htm index.html >> AddType application/x-httpd-php .php .php4 .php3 >> AddType application/x-httpd-php-source .phps >> >> >> Bei Apache2 entfaellt das AddModule. > >genau hier liegt mein Verständnisproblem. Ich hab php als Modul geladen. >Es wird scheinbar auch benutzt. Indem ich das hier aktiviere im >jeweiligen vhost wird also php4 als cgi ausgeführt? > >AddType application/x-httpd-php .php .php4 .php3 >AddType application/x-httpd-php-source .phps Nein, damit wird PHP4 nicht als CGI ausgeführt. Die Erklärung ist ganz einfach, wenn Du Dir genau die Namen der benutzten Direktiven anschaust und Dir die Logik des Apache- Servers verinnerlichst: - "LoadModule" weist den Apache Server an, ein Modul zu laden ("load" = lade, "Module" = Modul...). Wenn Du dies in deiner Konfiguration stehen hast, dann versucht der Apache-Server das Modul zu laden - ob es dann auch angesprochen wird, hängt von einer weiteren Direktive, nämlich "AddType" ab. Die Direktive "LoadModul" lädt und aktiviert erstmal nur das Modul. vgl. http://httpd.apache.org/docs/2.0/mod/mod_so.html#loadmodule Ob Du PHP als Modul laden möchtest oder nicht, hängt von Deinen Sicherheitsbedürfnissen und Deiner Serverumgebung ab (weiter- führende Stichworte hierzu sind: mehrere Benutzer auf einem Webserver (chroot, suExec, ...) und Zuteilung von Ressourcen zu einzelnen Virtualhosts (FastCGI), ...). Es läßt sich übrigens nur ein PHP-Modul in den Apache laden. Das bedeutet, wenn Du gerne mehrere PHP-Versionen benötigst (z.B. PHP4 und PHP5 gleichzeitig auf einem Server), dann kann nur eine dieser Versionen als Modul eingebunden werden - die andere PHP-Version mußt Du dann als CGI/FastCGI aufrufen. - AddType = zusätzliche Direktive, die den Apache Server anweist, Dateien mit einer speziellen Extension (z.B. ".php") einem MIME-Typ (z.B. dem geladenen PHP-Modul) zuzuordnen. Beispiel: Die Anweisung AddType application/x-httpd-php .php .php4 .php3 weist den Apache an, alle Aufrufe mit dem Kürzel ".php" dem (vorher mit LoadModule geladenem) Apache-Modul zuzuordnen. vgl. http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addtype - "AddHandler" zusammen mit "Action" weist den Apache Server dagegen an, bei einem Aufruf einer Datei mit einer gewissen Extension (z.B. ".php5" oder ".cgi") diesen Aufruf an einen speziellen Handler zu übergeben (AddHandler). Die Aktion, die beim Auftreten dieses Handlers ausgeführt wird, ist im Fall von PHP-CGI der PHP-Interpreter oder FastCGI. Mit "AddHandler" und "Action" kannst Du also dafür sorgen, dass der PHP-Interpreter als CGI (oder FastCGI) aufgerufen wird. vgl. http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addhandler und http://httpd.apache.org/docs/2.0/mod/mod_actions.html#action Mit Hilfe dieser Direktiven kannst Du also sowohl PHP als Modul als auch PHP als CGI aufrufen - es kommt nur darauf an, welche Direktive Du letztendlich nutzt. Viele Grüße Marcus Reimann M. Reimann Systemberatung http://www.reimann-systemberatung.de -------------------------------------------------------------------------- Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --------------------------------------------------------------------------