Sziasztok!
Adott egy ős régi Fedora Core 5 rendszer, azon szeretnék egy egyszerű fastcgi binárist futtatni (java-ban van írva és gcj-vel natívra van fordítva, a javas fastcgi osztályok a fastcgi.com-ról vannak letöltve).
Nem működik, nekem úgy tűnik, hogy az apache nem addja át azokat környezeti változókat, amikre a fastcgi programnak szüksége van.
A standard output-ra nyomtatott cucc egy az egyben az apache error_log-jában köt ki:
Content-type: text/html
sshd controller
action=null
FCGI_PORT=null
-- listing properties --
...
[Sat Sep 25 12:06:01 2010] [warn] (104)Connection reset by peer: mod_fcgid: read
data from fastcgi server error.
[Sat Sep 25 12:06:01 2010] [error] [client 172.20.8.16] Premature end of script
headers: SshdController.fcgi
A http header szerintem jó, többször ellenőriztem, és arra is figyeltem, hogy a header 2 DOS-os sorvég karakterrel legyen lezárva (0xd, 0xa). Header kiírása után flush-olom az output stream-et.
Tudomásom szerint (fcgi classok forrásának review-ja alapján) az FCGI_PORT property-nek be kellene lennie állítva.
String port = System.getProperty("FCGI_PORT");
Ez null-t ad. Vagy ezt valami wrapper script-nek kellene beállítania?
Minden segítséget előre is köszönök!
- 1077 megtekintés
Hozzászólások
Ha egy mas nyelven irodott cgi-t probalsz meg futtatni, az menik? Pl. egy egyszeru shell script.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Hi! Utánna néztem kicsit. Nem fog működni, a mod-fcgid nem tud external szervert kezelni, nem képes tisztességes TCP socket-en keresztül kommunikálni. Unix domain socket-et használ és shared memory-t, a Javas FastCGI class-ok meg nem tudnak ilyet kezelni.
- A hozzászóláshoz be kell jelentkezni
JNI segitsegevel irhato olyan modul, ami kepesse tesz erre, bar biztos, hogy nem lesz szabvanyos Socket
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni