php via cgi?
Sebastian Böthin
- webserver
Hi!
Ist es prinzipiell möglich, php-code durch
ein cgi-script zu generieren?
Der (Apache-)Server müsste zuerst mein cgi-Script
ausführen und den daraus erhaltenen Code dann als
php-Script interpretieren. Einfach mit HTTP-Header
'Content-type: application/x-http-php' geht es
leider nicht.
Danke für Tipps!
Gruß
Sebastian
Ist es prinzipiell möglich, php-code durch
ein cgi-script zu generieren?
Der (Apache-)Server müsste zuerst mein cgi-Script
ausführen und den daraus erhaltenen Code dann als
php-Script interpretieren.
Unter PHP wäre das möglich: Code in eine Datei schreiben und diese Datei mittels virtual() vom Server interpretieren lassen. Du müsstest also aus deinem cgi-Skript eine Anfrage an den Webserver machen (genau das macht virtual()).
Gruß,
soenk.e
Hi Sönke,
Der (Apache-)Server müsste zuerst mein cgi-Script
ausführen und den daraus erhaltenen Code dann als
php-Script interpretieren.
Unter PHP wäre das möglich: Code in eine Datei schreiben und diese
Datei mittels virtual() vom Server interpretieren lassen.
Du müsstest also aus deinem cgi-Skript eine Anfrage an den Webserver
machen (genau das macht virtual()).
möchtest Du das wirklich so ohne jede Warnung empfehlen?
Als Seiteneffekt eines HTTP-Requests eine Datei auf dem Server zu generieren, von der die Funktionsfähigkeit des Gesamtsystems existenziell abhängt, und dann nicht mal ein Wort über entsprechende Synchronisationsprobleme fallen lassen?
Klar, die lassen sich lösen, aber sie werden auftreten - und stören.
PHP und CGI (welche Sprache das auch immer sein mag) sind in ihrer Mächtigkeit mit hoher Wahrscheinlichkeit relativ ähnlich. Zuallererst würde ich also prüfen, ob nicht beides mir derselben Sprache geht. (Was kann PHP denn nicht, das hier gebraucht wird? Oder was kann PHP, das sich nicht direkt durch die CGI-Anwendung lösen läßt?)
Solche Hybrid-Anwendungen sind nur in extremen Sonderfällen die beste aller Lösungen - auch angesichts der aktuellen Apache-1-Architektur, die einen Request nicht nacheinander durch mehrere Handler jagen kann.
In Apache 2 soll das möglich sein, aber ich traue der Baustelle noch nicht ...
Viele Grüße
Michael
Der (Apache-)Server müsste zuerst mein cgi-Script
ausführen und den daraus erhaltenen Code dann als
php-Script interpretieren.
Unter PHP wäre das möglich: Code in eine Datei schreiben und diese
Datei mittels virtual() vom Server interpretieren lassen.
möchtest Du das wirklich so ohne jede Warnung empfehlen?
Von Empfehlung möchte ich da nicht reden. Das ist lediglich ein Weg, wie man es machen kann.
Als Seiteneffekt eines HTTP-Requests eine Datei auf dem Server zu generieren, von der die Funktionsfähigkeit des Gesamtsystems existenziell abhängt,
Also wenn es dem Benutzer möglich sein sollte, mittels einer selbstgeschriebenen PHP-Datei über den Webserver den gesamten Rechner zusammenbrechen zu lassen, dann ist da definitiv nicht die PHP-Datei schuld. Du übertreibst IMHO.
Ich wüsste jedenfalls nicht, was so furchtbar schlimm daran sein soll, aus einem PHP-Skript heraus eine PHP-Datei zu erstellen und diese dann per virtual() aufzurufen. Es ist doch völlig wurst, ob diese Datei gerade erstellt oder vor drei Wochen per FTP da abgeladen wurde.
PHP und CGI (welche Sprache das auch immer sein mag) sind in ihrer Mächtigkeit mit hoher Wahrscheinlichkeit relativ ähnlich. Zuallererst würde ich also prüfen, ob nicht beides mir derselben Sprache geht.
Nun, ich bin davon ausgegangen, daß Sebastian weiß, warum er gerade so eine Konstruktion basteln möchte. Vielleicht will er ja über ein Forumlar eine PHP-Datei online ändern können, die dann zum Testen auch gleich ausgeführt wird?
Gruß,
soenk.e
hi Sönke,
Als Seiteneffekt eines HTTP-Requests eine Datei auf dem Server
zu generieren, von der die Funktionsfähigkeit des Gesamtsystems
existenziell abhängt,
Also wenn es dem Benutzer möglich sein sollte, mittels einer selbst-
geschriebenen PHP-Datei über den Webserver den gesamten Rechner
zusammenbrechen zu lassen
ich meinte nicht den Rechner, sondern seine Anwendung.
Ich wüsste jedenfalls nicht, was so furchtbar schlimm daran sein soll,
aus einem PHP-Skript heraus eine PHP-Datei zu erstellen und diese dann
per virtual() aufzurufen.
Wenn das zwei Leute gleichzeitig machen, wird das ein netter Spaß ...
wenigstens disjunkte Dateinamen sollten es also schon sein.
Es ist doch völlig wurst, ob diese Datei gerade erstellt oder vor
drei Wochen per FTP da abgeladen wurde.
Wenn zwei Anwender simultan PHP-Statements in dieselbe Datei schreiben,
wird das Ergebnis tendentiell zu überraschenden Ergebnissen führen.
PHP und CGI (welche Sprache das auch immer sein mag) sind in ihrer
Mächtigkeit mit hoher Wahrscheinlichkeit relativ ähnlich.
Zuallererst würde ich also prüfen, ob nicht beides mir derselben
Sprache geht.
Nun, ich bin davon ausgegangen, daß Sebastian weiß, warum er gerade
so eine Konstruktion basteln möchte.
Dann haben wir beide sein Posting unterschiedlich eingeschätzt.
Vielleicht will er ja über ein Forumlar eine PHP-Datei online ändern
können, die dann zum Testen auch gleich ausgeführt wird?
Für letzteres würde eine HTTP-Weiterleitung durch das CGI-Skript ausreichen.
Viele Grüße
Michael
Der (Apache-)Server müsste zuerst mein cgi-Script
ausführen und den daraus erhaltenen Code dann als
php-Script interpretieren.
[...]
PHP und CGI (welche Sprache das auch immer sein mag) sind in ihrer Mächtigkeit mit hoher Wahrscheinlichkeit relativ ähnlich. Zuallererst würde ich also prüfen, ob nicht beides mir derselben Sprache geht.
Nun, ich bin davon ausgegangen, daß Sebastian weiß, warum er gerade so eine Konstruktion basteln möchte. Vielleicht will er ja über ein Forumlar eine PHP-Datei online ändern können, die dann zum Testen auch gleich ausgeführt wird?
Hi,
nett, dass sich jemand meiner anscheinend völlig abwegigen Frage
angenommen hat. Der Grund meiner Anfrage war, dass ich bereits
einiges CGI-Zeug in Perl aufgebaut habe und nun neu in PHP einsteige.
Da wollte ich halt mal ausloten, inwiefern ich geschriebene
Module nutzen kann und wie man die beiden Sprachen so verknüpfen
kann. Geht wohl so nicht. Naja, macht nichts.
Gruß
Sebastian