Statt PHP ein C Module für Apache

schaary

schaary

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2004
Beiträge
233
Reaktionspunkte
0
Hallo,

weiss jemand, ob es für Apache ein C-Modul gibt, das, wie das PHP-Modul PHP Code ausführt, eben C ausführt, wenn eine entsprechend deklarierte Seite angefordert wird?

Grüße
 
Der Apache macht das per default, wenn Du das C-File übersetzt und das ausführbare Programm in .cgi umbenennst... :p manman
 
Ich möchte aber nicht über die CGI Schiene gehen, sondern ein richtiges Modul haben. Das ich die übersetzte C-Datei ins cgi-bin legen kann, war mir schon klar :) fraufrau ...
 
Fastcgi mal angeschaut? Das macht sowas ähnliches, ein CGI-Programm wird dabei nur einmal gestartet. Viel mehr ist mit C nicht sinnvoll. C interpretieren wäre ja dämlich...
 
C ist keine Interpretersprache wie PHP, Perl, Ruby. Also warum sollte es ein Interpreter-Modul dafür geben?

Pingu
 
Das ist eben die Sache. Ich möchte keine interpretierten Programme, sondern voher übersetzte. Einer von vielen Vorteilen ist dabei die Typsicherheit ... man weiss bereits zum Übersetzungszeitpunkt, dass man sich vertippt hat oder eine Zuweisung nicht korrekt ist.

Und falsch, es ist viel mehr mit C sinnvoll, als es sich Scriptsprachen-Programmierer vorstellen können. Aber das ist hier nicht der Ort, um über Vor- und Nachteile von PHP vs. C zu diskutieren. Mich interessiert nur, ob es ein Modul für den Apache gibt.

Ja, ich kenne FastCGI. Aber ich sagte bereits, ich möchte kein CGI sondern suche ein reines Apache-Modul.

Trotzdem danke fürs mitdenken!!!

Grüße
 
Pingu schrieb:
C ist keine Interpretersprache wie PHP, Perl, Ruby. Also warum sollte es ein Interpreter-Modul dafür geben?

Pingu

Das Modul, welches vom Apache gestartet wird, ruft nur den Interpreter auf, nachdem es ein bisschen Umgebung hergerichtet hat dafür, es ist selbst kein Interpreter.
Genau so kann ein Modul eben auch eine C-Funktion aufrufen. Das ist nicht wirklich kompliziert. Ich möchte halt nur wissen, ob es das schon gibt, bevor ich mich selbst hinsetze und das zurecht klimpere ... :)
 
Das ist mal eine wirklich gute Frage! Ich fürchte die kann kaum einer beantworten, weil die meisten im Webbereich auf den Java-Zug aufgesprungen sind. Da erreichst Du Deine Typ-Sicherheit ja auch ( ja, ich mag Java auch nicht ;) ). Eine Apache Anbindung erreichst Du mit httpd.h, aber das weißt Du sicherlich!? Wieso ist die CGI-Lösung nicht passend für Dich? Das habe ich noch nicht verstanden. Schlußendlich wird doch da einem HTTP-Request ein Executable zugeordnet! Was fehlt Dir da?
 
Ich habe bei Apache.org ein die Module mod_cpp und mod_cpluplus gefunden. Die sind ziemlich genau das, was ich gesucht habe.
 
wegus schrieb:
Eine Apache Anbindung erreichst Du mit httpd.h, aber das weißt Du sicherlich!? Wieso ist die CGI-Lösung nicht passend für Dich? Das habe ich noch nicht verstanden. Schlußendlich wird doch da einem HTTP-Request ein Executable zugeordnet! Was fehlt Dir da?

Ein paar Vorteile:

1. Ein Modul ist immer geladen. CGI-Teil nicht. Damit kann man Resourcen vorrätig halten, die bei einem CGI-Aufruf immer wieder neu geladen werden müssen. Stichpunkt: Datenbank-Verbindung.
2. Es ist sehr Resourcen-schonend. Was alles in Bewegung gesetzt werden muss, um z.B. ein "Hello World" mit PHP oder gar mit Java auszuführen, könnte ganze Freds füllen.
3. Die Geschwindigkeit!!! Dazu muss ich wohl nichts weiter sagen. Und jetzt kommt mir nicht mit "... aber PHP ist auch schnell ...". Wir reden hier über Potenzen.
4. Requests durchlaufen verschiedene Phasen im Apache. Auf diese Phasen kann man als Modul im Apache zugreifen und basteln. Nur als Beispiel: mod_rewrite. Das ist mit CGI nicht so einfach möglich.

Soweit. Grüße :)
 
Auf FastCGi treffen Deine Punkte 1, 2 und 3 auch zu. Nur auf das Modul-API hättest Du keinen Zugriff. Aber die Programme bleiben auch im Speicher geladen und arbeiten Requests eben in einer Schleife ab.

Ich weiss nicht ganz, was Du willst. Einen Wrapper um das Modul-API? Schreib doch gleich ein Modul!
 
Schaary:
Was alles in Bewegung gesetzt werden muss, um z.B. ein "Hello World" mit PHP oder gar mit Java auszuführen, könnte ganze Freds füllen.

Und jetzt kommt mir nicht mit "... aber PHP ist auch schnell ...". Wir reden hier über Potenzen

Das war mir schon auch knapp klar! Wenn Du magst such ich mein Grundsoftware-Skript raus ;)

Ich verwende PHP schlicht deshalb, weil die meisten Rechner heute soviel Horsepower mitbringen, daß nicht jede Webseite maßgescheidert kompiliert werden muß! Daß man den Zeitgewinn mit verbrennen von Rechenzeit bezahlt ist doch wohl klar! Das einzige Paradigma was gestorben ist, ist das das Assembler schneller sei als C! Bei den optimizern heutzutage kann man das vergessen.
 
Zurück
Oben Unten