Hallo Leute! Ich hab' da ein seltsames Problem mit Apache und komme nicht weiter. Es gibt eine Reihe von CGI Skripten, die tadellos funktionierten. Ich habe sie alle zwischenzeitlich auf einem Windows Server mit IIS gehabt, und einiges daran geändert. Jetzt wollte ich die veränderten Skripte auf den Linux/Apachie Testserver einspielen, um überall denselben Bestand zu haben. Zu meiner Überraschung lassen sich jetzt aber gar keine Skripte mehr ausführen. In der error-log steht: [error] (2)No such file or directory: exec of /wwwroot/diversity2/cgi-bin/register_db.cgi failed [Tue Jul 17 15:10:51 2001] [error] [client 192.168.1.62] Premature end of script headers: /wwwroot/diversity2/cgi-bin/register_db.cgi Dabei _gibt es_die Dateien in den Verzeichnisen, und sie lassen sich direkt mit Perl problemlos ausführen. Dazu habe ich unter denselben Namen einen der alten Skripte kopiert, und das ließ sich einwandfrei ausführen. Woran kann es liegen? Danke! G. Daniel
On Tuesday 17 July 2001 15:24, you wrote:
Hallo Leute!
Ich hab' da ein seltsames Problem mit Apache und komme nicht weiter.
Es gibt eine Reihe von CGI Skripten, die tadellos funktionierten. Ich habe sie alle zwischenzeitlich auf einem Windows Server mit IIS gehabt, und einiges daran geändert. Jetzt wollte ich die veränderten Skripte auf den Linux/Apachie Testserver einspielen, um überall denselben Bestand zu haben. Zu meiner Überraschung lassen sich jetzt aber gar keine Skripte mehr ausführen. In der error-log steht:
[error] (2)No such file or directory: exec of /wwwroot/diversity2/cgi-bin/register_db.cgi failed [Tue Jul 17 15:10:51 2001] [error] [client 192.168.1.62] Premature end of script headers: /wwwroot/diversity2/cgi-bin/register_db.cgi
Dabei _gibt es_die Dateien in den Verzeichnisen, und sie lassen sich direkt mit Perl problemlos ausführen. Dazu habe ich unter denselben Namen einen der alten Skripte kopiert, und das ließ sich einwandfrei ausführen. Woran kann es liegen?
Danke!
G.
Daniel
hallo, spontan wuerd mir da einfallen... evtl.stimmen die Pfade nicht in den Scripten ... /wwwroot/ ...hast du SuSE? greets andre
Hi, stimmen die Owner? Ansonsten vielleicht mal ein chown -R wwwrun.nobody /wwwroot
[error] (2)No such file or directory: exec of /wwwroot/diversity2/cgi-bin/register_db.cgi failed [Tue Jul 17 15:10:51 2001] [error] [client 192.168.1.62] Premature end of script headers: /wwwroot/diversity2/cgi-bin/register_db.cgi
Dabei _gibt es_die Dateien in den Verzeichnisen, und sie lassen sich direkt mit Perl problemlos ausf�hren. Dazu habe ich unter denselben Namen einen der alten Skripte kopiert, und das lie� sich einwandfrei ausf�hren. Woran kann es liegen? Unter welchem User fuehrst Du die Skripte denn an der shell aus? Vielleicht greifen die Skripte auf Ressourcen zu, auf die der wwwrun keinen Zugriff hat.
Eventuell dann die Skripte mit sudo -u root /meinSkript ausfuehren. Vorher mit visudo dem wwwrun die entsprechenden Rechte geben. Hoffe das hilft. Gruss, Christian
Am Die, 17 Jul 2001 schrieben Sie:
[error] (2)No such file or directory: exec of /wwwroot/diversity2/cgi-bin/register_db.cgi failed [Tue Jul 17 15:10:51 2001] [error] [client 192.168.1.62] Premature end of script headers: /wwwroot/diversity2/cgi-bin/register_db.cgi
Dabei _gibt es_die Dateien in den Verzeichnisen, und sie lassen sich direkt mit Perl problemlos ausführen. Dazu habe ich unter denselben Namen einen der alten Skripte kopiert, und das ließ sich einwandfrei ausführen. Woran kann es liegen?
Danke!
G.
Daniel
hallo, spontan wuerd mir da einfallen... evtl.stimmen die Pfade nicht in den Scripten ... /wwwroot/ ...hast du SuSE?
SuSE 6.2. Die Pfade stimmen! SObald ich unter demselben Namen einen der alten Skripte speichere, funktioniert alles. Ich hatte versucht, in die neuen Skripte gleich am Anfang ein 'die' einzubauen, doch das Skript stribt nicht, es scheint, daß er gar nicht aufgerufen wird! G. Daniel
On Tue, 17 Jul 2001 at 15:24 (+0200), Daniel M.Ludwig wrote:
Hallo Leute!
Ich hab' da ein seltsames Problem mit Apache und komme nicht weiter.
Es gibt eine Reihe von CGI Skripten, die tadellos funktionierten. Ich habe sie alle zwischenzeitlich auf einem Windows Server mit IIS gehabt, und einiges daran geändert. Jetzt wollte ich die veränderten Skripte auf den Linux/Apachie Testserver einspielen, um überall denselben Bestand zu haben. Zu meiner Überraschung lassen sich jetzt aber gar keine Skripte mehr ausführen. In der error-log steht:
[error] (2)No such file or directory: exec of /wwwroot/diversity2/cgi-bin/register_db.cgi failed [Tue Jul 17 15:10:51 2001] [error] [client 192.168.1.62] Premature end of script headers: /wwwroot/diversity2/cgi-bin/register_db.cgi
Dabei _gibt es_die Dateien in den Verzeichnisen, und sie lassen sich direkt mit Perl problemlos ausführen. Dazu habe ich unter denselben Namen einen der alten Skripte kopiert, und das ließ sich einwandfrei ausführen. Woran kann es liegen?
Könnte es vielleicht sein, dass Du diese zwischenzeitlich mit einem Windows-Editor bearbeitet hast? Dann sind die Zeilenumbrüche falsch. Lösung: recode cp1252..latin1 test.cgi Natürlich müssen Ausführrechte gesetzt sein. Gruß, Bernhard -- "Never do today what you can postpone and do tomorrow." [David Faure, KDE-Entwickler]
Am Die, 17 Jul 2001 schrieben Sie:
On Tue, 17 Jul 2001 at 15:24 (+0200), Daniel M.Ludwig wrote:
Hallo Leute!
Ich hab' da ein seltsames Problem mit Apache und komme nicht weiter.
Es gibt eine Reihe von CGI Skripten, die tadellos funktionierten. Ich habe sie alle zwischenzeitlich auf einem Windows Server mit IIS gehabt, und einiges daran geändert. Jetzt wollte ich die veränderten Skripte auf den Linux/Apachie Testserver einspielen, um überall denselben Bestand zu haben. Zu meiner Überraschung lassen sich jetzt aber gar keine Skripte mehr ausführen. In der error-log steht:
[error] (2)No such file or directory: exec of /wwwroot/diversity2/cgi-bin/register_db.cgi failed [Tue Jul 17 15:10:51 2001] [error] [client 192.168.1.62] Premature end of script headers: /wwwroot/diversity2/cgi-bin/register_db.cgi
Dabei _gibt es_die Dateien in den Verzeichnisen, und sie lassen sich direkt mit Perl problemlos ausführen. Dazu habe ich unter denselben Namen einen der alten Skripte kopiert, und das ließ sich einwandfrei ausführen. Woran kann es liegen?
Könnte es vielleicht sein, dass Du diese zwischenzeitlich mit einem Windows-Editor bearbeitet hast? Dann sind die Zeilenumbrüche falsch.
Ja, die wurden mit Wordpad bearbeitet.
Lösung:
recode cp1252..latin1 test.cgi
Habe ich versucht, geht bei einigen Skripten weiter, bei anderen taucht: recode: testdatei.cgi failed: Ambiguous output in CR-LF..data Was ist denn jetzt wieder los? Danke! G. Daniel
On Tue, 17 Jul 2001 at 15:47 (+0200), Daniel M.Ludwig wrote:
Am Die, 17 Jul 2001 schrieben Sie:
On Tue, 17 Jul 2001 at 15:24 (+0200), Daniel M.Ludwig wrote:
Hallo Leute!
Ich hab' da ein seltsames Problem mit Apache und komme nicht weiter.
Es gibt eine Reihe von CGI Skripten, die tadellos funktionierten. Ich habe sie alle zwischenzeitlich auf einem Windows Server mit IIS gehabt, und einiges daran geändert. Jetzt wollte ich die veränderten Skripte auf den Linux/Apachie Testserver einspielen, um überall denselben Bestand zu haben. Zu meiner Überraschung lassen sich jetzt aber gar keine Skripte mehr ausführen. In der error-log steht:
[error] (2)No such file or directory: exec of /wwwroot/diversity2/cgi-bin/register_db.cgi failed [Tue Jul 17 15:10:51 2001] [error] [client 192.168.1.62] Premature end of script headers: /wwwroot/diversity2/cgi-bin/register_db.cgi
Dabei _gibt es_die Dateien in den Verzeichnisen, und sie lassen sich direkt mit Perl problemlos ausführen. Dazu habe ich unter denselben Namen einen der alten Skripte kopiert, und das ließ sich einwandfrei ausführen. Woran kann es liegen?
Könnte es vielleicht sein, dass Du diese zwischenzeitlich mit einem Windows-Editor bearbeitet hast? Dann sind die Zeilenumbrüche falsch.
Ja, die wurden mit Wordpad bearbeitet.
WordPad? Das ist doch eine Textverarbeitung und kein Editor. Mit sowas kann man doch nicht programmieren *kopfschüttel*
Lösung:
recode cp1252..latin1 test.cgi
Habe ich versucht, geht bei einigen Skripten weiter, bei anderen taucht: recode: testdatei.cgi failed: Ambiguous output in CR-LF..data
Was ist denn jetzt wieder los?
Das geht nur, wenn das Format auch stimmt. Du kannst ja mal ein cat textdatei.cgi | hex versuchen. berwal@hugo:~ > cat test.pl | hex 0000 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a #!/usr/b in/perl. 0010 0a 70 72 69 6e 74 20 22 74 65 73 74 22 3b 0a .print " test";. berwal@hugo:~ > Nach #!/usr/bin/perl folgt nur ein 0a (\n), hier sind es zwei, weil danach eine Leerzeile kommt. Nach einem recode latin1..cp1252 test.pl: berwal@hugo:~ > cat test.pl | hex 0000 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0d #!/usr/b in/perl. 0010 0a 0d 0a 70 72 69 6e 74 20 22 74 65 73 74 22 3b ...print "test"; 0020 0d 0a .. berwal@hugo:~ > Hier folgt nach dem #!/usr/bin/pler ein 0d (\r) und ein 0a (\n). Also muss umgewandelt werden! Unter Windows kann ein Skript sowieso nicht direkt ausgeführt werden, sondern nur über einen Interpreter. Ich vermute mal, dass perl f. Windows auch mit UNIX-Textdateien umgehen kann. Wenn Du also unter Windows einen Texteditor verwendest, der in Unix-Format abspeichern kann (z. B. JEdit) kannst Du Dir die Umwandlerei sparen. Oder per FTP im Textmodus übertragen. Wenn es denn daran liegen sollte ... Gruß, Bernhard -- -------------------------------------------------------------------- ------------> http://www.links2linux.de <----------- --------------------------------------------------------------------
participants (4)
-
Andre Pfeiler
-
Bernhard Walle
-
Christian M. Steffens
-
Daniel M.Ludwig