Schlafmütze
17-05-2006, 06:38
Moin,
wie kann man aus PHP ein CGI-Skript aufrufen?
Bei Javascript weiß ich das (XMLHTTP-Request), aber bei PHP?
Geht das überhaupt? Bei Google hab ich nur gefunden, wie man aus CGI PHP aufruft.
Irgendwo hab ich gelesen, dass das aus PHP heraus mit fopen() gehen soll, hat aber nicht so ganz funktioniert.
Gruß
Schlafmütze
onemorenerd
17-05-2006, 08:00
Mit allow_url_fopen on in der php.ini funktioniert fopen('http://example.com/script.cgi');
Sonst hilft fsockopen().
Schlafmütze
17-05-2006, 08:09
Mit allow_url_fopen on in der php.ini funktioniert fopen('http://example.com/script.cgi');
geht leider nicht,
die Seiten befinden sich innerhalb eines Portals mit Framesets, die genaue URL kenne ich nicht.
Hab's auch schon mit:
<!-- #exec(datei.cgi) -->
im HTMl-Code probiert, nimmt er nicht.
onemorenerd
17-05-2006, 08:16
Na wie, du kennst die URL nicht? Dann weißt du wohl auch nicht, wie du übers Filesystem an das CGI-Script herankommst?
Nimm das Frameset auseinander, schau in den Quelltext. Das CGI muß dort irgendwo referenziert werden.
Schlafmütze
17-05-2006, 09:10
phpinfo():
allow_url_fopen On On
Den Pfad kenne ich, URL hab ich rausgefunden.
$fp = fopen('http://localhost/test.cgi', 'r') or die ("Kann Datei nicht lesen.");
bringt mir jetzt aber meine Fehlermeldung.
Was stimmt noch nicht?
--------------------------------
vielleicht noch gut zu wissen:
das cgi-skript führt einen Befehl aus und gibt bei true 0 und false 1 zurück - diese Werte muss ich auslesen und in PHP verarbeiten.
Schlafmütze
17-05-2006, 14:58
Für alle die es interessiert,
hier ist meine Lösung:
$cdm = "./test.cgi"; #Verzeichnis der Datei
$ret = system($cmd, $return) # $return ist der Rückgabewert der CGI-Datei
$return dann einfach verarbeiten.