Ralf Praschak: probleme beim ausführen von FLY in einem cgi (perl)

hallo!

ich bastel an einem counterskript, daß als <img> im html eingebunden ist. soweit so gut. auf meinem testrechner (win) lief alles super.

nun habe ich das skript auf den richtigen server (irix) gepackt und es läuft natürlich nicht mehr bzw. es liefert kein bild mehr an den browser zurück. aber wenn ich das skript via telnet ausführe geht es?!?

  • sollte dies an den rechten liegen?!?
      habe betreffende filez schon auf 755 gesetzt.

  • win zu unix habe ich bedacht #!/usr/bin/perl etc.

das problem ist, soweit ich es erkennen kann, daß das cgi beim aufruf über den browser das programm fly nicht ausführt

fly soll nach anweisungen aus einem textfile ein gif erstellen
beim aufruf via telnet macht es das aber ;((

betreffende code zeilen (für hilfe und tipps bin ich dankbar)
habe folgende varianten (ohne erfolg) probiert:

a) system("fly -i fly_temp.txt -o temp.gif -q");

b) if open(FOO,"fly -i fly_temp.txt -o temp.gif")
   print(FOO);
   close(FOO);

c) open(BEF,"fly -i fly_temp.txt -o temp.gif") die "Fehler: $!";
   while(<BEF>) {
print $_;
}
   close(BEF);

danach wird dann das temp.gif via binären mode an browser geschickt (geht auch, sofern bild vorhanden ist).

ergibt auch keine fehlermeldung bei c)
aber laut datum sind ist temp.gif nicht geändert worden, fly_temp.gif schon!!!
alle anderen sachen, counter hochsetzen etc. laufen

wer weiß rat?!?

vielen dank im vorraus
ralf praschak

  1. Hi,

    a) system("fly -i fly_temp.txt -o temp.gif -q");

    or die "Fehler: $!";

    Anschließend ins Errorlog sehen und ggf.

    man fly

    durchlesen.

    b) if open(FOO,"fly -i fly_temp.txt -o temp.gif")

    open FOO, ... or die "Fehler: $!";

    print(FOO);

    Warum in Klammern? Was willst Du reinprinten? Was steht in $_?

    ergibt auch keine fehlermeldung bei c)

    Und bei a) und b)?

    Cheatah

    1. Hi,

      a) system("fly -i fly_temp.txt -o temp.gif -q");

      or die "Fehler: $!";

      Anschließend ins Errorlog sehen und ggf.

      man fly

      durchlesen.

      b) if open(FOO,"fly -i fly_temp.txt -o temp.gif")

      open FOO, ... or die "Fehler: $!";

      print(FOO);

      Warum in Klammern? Was willst Du reinprinten? Was steht in $_?

      ergibt auch keine fehlermeldung bei c)

      Und bei a) und b)?

      Cheatah

      Hihi!
      erstmal tnx.
      fehlermeldungen gibt es null ;((
      an die logdateien komme ich net (uni-server) oder wenn wer weiß, wo irix den
      kram speichert...habe ihn nicht gefunden (locate gibbets net)

      das lustige ist ja. daß es via telnet läuft...ein blick in die log fileZ vom apache
      würde sicherlich aufschluß geben ;((

      cu
      ralf

      1. Hi,

        das lustige ist ja. daß es via telnet läuft...

        vielleicht läuft es per CGI in einem anderen Verzeichnis. Binde fly doch mal explizit mit absolutem Path ein.

        ein blick in die log fileZ vom apache würde sicherlich aufschluß geben ;((

        Rede mal ganz lieb mit Deinem Admin... :-)

        Cheatah