PHP als Modul und als CGI einrichten (Apache)

PHP als Modul und als CGI einrichten (Apache)

am 27.10.2007 13:59:00 von Thomas Steinbach

Hallo NG,

weiss hier jemand wie ich PHP als Modul und als
CGI beim Apache "gleichzeitig" einrichten kann.

Einmal als Modul fuer den Document-Root und
folgende und dann als CGI fuer ein externes cgi-bin
Verzeichnis.

btw: als modul ist mir klar, aber ich habe
Schwierigkeiten das CGI einzurichten. Ich hoffe
hier hat jemand ein paar Tips. Danke

Thomas

Re: PHP als Modul und als CGI einrichten (Apache)

am 28.10.2007 11:50:10 von Ulf Kadner

Thomas Steinbach wrote:

> weiss hier jemand wie ich PHP als Modul und als
> CGI beim Apache "gleichzeitig" einrichten kann.

Google weis es. Da Du ja schon in d.c.l.p.misc gepostet hast hätteste
auch genau so gut mal ne Google anfrage starten können. :-)

http://www.thomann-wyss.ch/blog/archive/2006/01/22/php5-als- cgi-parallel-zu-php4.html

Da wird zwar beschrieben wie PHP4 paralell zu PHP5 betrieben werden
kann, aber das läst sich fast 1:1 auf Deine Frage ummünzen.

Ließt Dir erst mal allse dort durch, verstehe es und machs dann so wie
dort beschrieben.

> Einmal als Modul fuer den Document-Root und
> folgende und dann als CGI fuer ein externes cgi-bin
> Verzeichnis.

Was ist ein externes CGI-BIN Verzeichnis?

MfG, Ulf

--
_,
_(_p> Ulf [Kado] Kadner
\<_)
^^

Re: PHP als Modul und als CGI einrichten (Apache)

am 29.10.2007 10:39:46 von Thomas Steinbach

Hallo Ulf,

>> weiss hier jemand wie ich PHP als Modul und als
>> CGI beim Apache "gleichzeitig" einrichten kann.
>
> Google weis es. Da Du ja schon in d.c.l.p.misc gepostet hast hätteste auch
> genau so gut mal ne Google anfrage starten können. :-)

Ich hatte vergessen zu erwaehnen, das ich das auf
einem Windows System umsetzten will und die bereits von
den Herstellern ausgegebenen Binaries verwende.

Ich habe durchaus gesucht im Netz, aber nichts brauchbares
gefunden, denn die meisten Installationsanleitungen (so auch
deine erwaehnte) beschraenken sich auf die Beschreibung
der Uebersetzung auf einer Standard-Linux/UNIX-installation.
Das aber ist trivial.

Auch die beschriebenen Konfigurationen sind meist nur zitierte
Standardkonfiguratioen aus den Originaldokumentationen zu
Apache/PHP und schaffen es nicht erweiterte Konfigurationen,
wie oben und unten beschriebenen, zu behandeln.

> Da wird zwar beschrieben wie PHP4 paralell zu PHP5 betrieben werden kann,
> aber das läst sich fast 1:1 auf Deine Frage ummünzen.
Der Ansatzt ist klar, nur funken meine Konfigurationen nicht auf
einem "externen" (Nicht unter Document-Root) Verzeichnis
fuer php scripte die ich mit php (cgi-Version) interpretiert
haben moechte. Irgendwas mache ich noch falsch.

> Ließt Dir erst mal allse dort durch, verstehe es und machs dann so wie
> dort beschrieben.
Dort wird eine Trennung und Unterscheidung anhand von
Extensions gemacht. Eine Moeglichkeit die zwar in der
Windows-Welt sehr gebrauchlich ist, aber ich moechte ja
eine Unterscheidung anhand der Platzierung unterhalb von
Document-Root bzw. externem Verzeichnis fuer CGI.

>> Einmal als Modul fuer den Document-Root und
>> folgende und dann als CGI fuer ein externes cgi-bin
>> Verzeichnis.

Ist es nun klar was ich meine?

> Was ist ein externes CGI-BIN Verzeichnis?

Ein "cgi-bin" Verzeichnis ist ein fuer cgi-Scripte
ausgewiessenes Verzeichnis, das typischerweise nicht
im Document-Root und Unterverzeichnissen zu
finden ist.
Ich will also quasi ein "extra" cgi-bin (das kann auch ganz
anders lauten) Verzeichnis das nur fuer php scripte da ist
und die ausschliesslich mit der php-cgi.exe ausgefuehrt
werden und nicht durch das modul interpretiert werden.
Dabei sollte es dann auch unerheblich sein ob ich php4/5
in Kombination oder auch eine phpX-modul/phpX-cgi
Konfiguration nutzen moechte.

Zu cgi und damit wozu ein externes cgi-bin Verzeichnis
dient siehe auch:

http://en.wikipedia.org/wiki/Cgi-bin
http://www.w3.org/CGI/
http://hoohoo.ncsa.uiuc.edu/cgi/

Ich hoffe das dann alle Zweifel beseitigt sind was denn
nun das php-Modul ist und was das php-cgi binary betrifft.

Thomas

Re: PHP als Modul und als CGI einrichten (Apache)

am 29.10.2007 11:22:44 von Carsten Wiedmann

Thomas Steinbach schrieb:

> Hallo Ulf,
>
> > > weiss hier jemand wie ich PHP als Modul und als
> > > CGI beim Apache "gleichzeitig" einrichten kann.
>
> Ich hatte vergessen zu erwaehnen, das ich das auf
> einem Windows System umsetzten will und die bereits von
> den Herstellern ausgegebenen Binaries verwende.

Das macht keinen Unterschied, ob du das unter Windows oder *nix machen
willst... PHP wird im Apachen immer gleich eingerichtet.


> Auch die beschriebenen Konfigurationen sind meist nur zitierte
> Standardkonfiguratioen aus den Originaldokumentationen zu
> Apache/PHP und schaffen es nicht erweiterte Konfigurationen,
> wie oben und unten beschriebenen, zu behandeln.


Du kannst das CGI so wie im PHP-Manual beschrieben einrichten. Nur musst du
für's CGI dann einen anderen Mime-Typen nehmen (wie z.B.
"application/x-httpd-phpcgi").


> > Was ist ein externes CGI-BIN Verzeichnis?
>
> Ein "cgi-bin" Verzeichnis ist ein fuer cgi-Scripte
> ausgewiessenes Verzeichnis, das typischerweise nicht
> im Document-Root und Unterverzeichnissen zu
> finden ist.


Das stimmt zwar so, nimmt man aber typischerweise für's PHP-CGI nicht. Wenn
du das aber wirklich haben willst, musst du nur einen 2. ScriptAlias
einrichten (wie du es schon für's normale cgi-bin hast), in der "php.ini"
cgi-force-redirect abschalten, und an den Anfang deiner Scripte einen
SheBang mit dem Pfad zum PHP-CGI einfügen.

Gruß
Carsten

Re: PHP als Modul und als CGI einrichten (Apache)

am 29.10.2007 18:50:44 von Ulf Kadner

Thomas Steinbach wrote:

> Ich hatte vergessen zu erwaehnen, das ich das auf
> einem Windows System umsetzten will und die bereits von
> den Herstellern ausgegebenen Binaries verwende.

Dann kann ich Dir nicht helfen.

>> Was ist ein externes CGI-BIN Verzeichnis?
>
> Ein "cgi-bin" Verzeichnis ist ein fuer cgi-Scripte
> ausgewiessenes Verzeichnis, das typischerweise nicht
> im Document-Root und Unterverzeichnissen zu
> finden ist.

Das ist einfach ein cgi-bin Verzeichnis. "Extern" ist da unangebracht!

> Zu cgi und damit wozu ein externes cgi-bin Verzeichnis
> dient siehe auch:
>
> http://en.wikipedia.org/wiki/Cgi-bin

Ja klar... ich ich hab dich gefragt was ein "externes CGI-BIN" ist und
nicht was ein CGI-BIN ist.

MfG, Ulf

--
_,
_(_p> Ulf [Kado] Kadner
\<_)
^^