phpbar.de logo

Mailinglisten-Archive

[php] mit php prozess im BG starten

[php] mit php prozess im BG starten

Thomas Langfeld php_(at)_phpcenter.de
Fri, 11 Jan 2002 14:24:45 +0100


Hi Norbert, hi Liste,

vielen Dank für die Hilfe, das erklärt erstmal einiges.

Norbert Pfeiffer schrieb:

> Hallo Thomas,
>

...

> D.h. man muss einfach via HTTP ausbrechen, dagegen ist PHP
> machtlos, weil es das ja fuer seine Existenz braucht... ;-)
>
> Ergo bleibt einem dafuer nur ein Call via HTTP auf eine EXE in
> /cgi-bin/ und die laesst man das benoetigte Programm starten.

Ich benutze PHP als Modul und hab noch nix mit cgi am Hut gehabt.
Muß ich irgendwas konfigurieren (apache, win2k) ?

Und wie GENAU rufe ich denn die EXE aus meinem PHP-Script auf?
header(...) ?

Und wie funktioniert die Parameterübergabe ?
steht bei "bla.exe?foo=bar" bei einem C-Programm "bar" in argv[1] drin ?



> Natuerlich hat das einen Haken:
> Wenn Du die EXE mit "http://myDomain/cgi-bin/myExec.exe?"
> aufrufen kannst, kann das jeder, der Zugriff auf Deinen
> Server hat, auch. Das ist kein BackDoor, das ist eine
> 6-spurige Autobahn ohne Blitz und Regelungen...

Ja, ist ziemlich unsicher, wäre aber bei mir erstmal kein Problem.

> Wenn sich jedoch mehrere Leute finden, die sowas benoetigen,
> schau ich mal, ob ich da ein Passwortschutz einbauen kann.
> Fuer mich hier alleine brauche ich das naemlich nicht.

> Wenn Du, oder andere, sich fuer CGI mit EXE-Programmen
> interessieren - einfach nachfragen.
> Ich habe damit schon 1997 Suchmaschinen u.a. gebaut...
>
> m. b. G. Norbert

Vielen Dank auch an Cyrill für den Tip mit "mikehup", habs probiert,
funzt leider unter Windows nicht.
Unter Linux gibts noch was anderes, da soll ein prog, welches sich
forkt, das Problem lösen.
Hier die relevanten zeilen aus dem Code
...
pid=fork();
if (pid!=0)  //also kindlein
{
    //executing the program passed in on the command line
    close(STDOUT_FILENO);
    close(STDIN_FILENO);
    close(STDERR_FILENO);
    execvp(argv[1], &argv[1]);
}
...

Gibts zu fork() ein Äquivalent unter Windows ?



Beste Grüße,

Thomas Langfeld


php::bar PHP Wiki   -   Listenarchive