Net Send - funtz aber jetzt 500 error
Schrööm
- cgi
Hi ^^
ich hab leider jetzte ein anders Problem,
Ich hab den Code eingebaut
system ("net send ...." if -e "net.exe")
Es erzeugt mir ein net send, aber dann kommt
500 Internel fehler. Den rest macht er.
An was könnte das liegen, muss ich noch etwas dazufügen?
Gruss
Shrööm
Hi,
An was könnte das liegen,
das kann Dir _nur_ das Error-Log des Servers sagen. Einen 500er zu untersuchen, ohne zualleraller(aller)erst ins Error-Log zu schauen, macht keinen Sinn.
Cheatah
hi,
das kann Dir _nur_ das Error-Log des Servers sagen. Einen 500er zu »»untersuchen, ohne zualleraller(aller)erst ins Error-Log zu schauen, »»macht keinen Sinn.
Also die Fehlermeldund lautet: malformed header from script. Bad header
Vorhin hat es mir das Net send ohne Fehlermeldung gebracht, aber auf einmal funzt es nicht mehr -_-
ich hatte im Text zwei || <----- eingebaut, dann habe ich was dazugeschrieben und auf einmal. -_- *sniff*
Hi,
malformed header from script. Bad header
die erste Ausgabe des Scripts ist kein gültiger HTTP-Header. Beachte, dass STDERR vor STDOUT kommt; wenn also das externe Programm einen Fehler ausschmeißt, kommt ebenfalls diese Meldung.
ich hatte im Text zwei || <----- eingebaut,
Könnte dies eine besondere Bedeutung haben? Überprüfe den Aufruf außerhalb des Perl-Scripts.
Cheatah
Hi
die erste Ausgabe des Scripts ist kein gültiger HTTP-Header.
»»Beachte, dass STDERR vor STDOUT kommt; wenn also das externe Programm »»einen Fehler ausschmeißt, kommt ebenfalls diese Meldung.
STDERR, STDOUT ?????
jetzt begreife ich gar nichts mehr 0_0 -_-
Könnte dies eine besondere Bedeutung haben? Überprüfe den Aufruf außerhalb des Perl-Scripts.
Könntet ihr mir nicht ein bsp geben, wo ist was schreiben soll.
Ich bin ein vollkommener Anfänger.
Shrööm
Hi,
STDERR, STDOUT ?????
"Standard Error", "Standard Out". Jeder print geht nach STDOUT, sofern Du nicht einen anderen Handler angibst - beispielsweise "print DATEI blabla".
Könntet ihr mir nicht ein bsp geben, wo ist was schreiben soll.
Es existiert kein Beispiel. Du musst den Fall bei Dir untersuchen - nur das kann helfen.
Ich bin ein vollkommener Anfänger.
Was Du als nächstes tun solltest, habe ich Dir in meiner vorherigen Antwort gesagt.
Cheatah
Hi,
Es existiert kein Beispiel. Du musst den Fall bei Dir untersuchen - nur das kann helfen.
Wenn ich nur wüste wo. -_-
Ich hab es sogar mal zum laufen gebracht aber frag mich nicht wie, auf einemal hat es funktioniert, als ich || <--- diese zwei eingefügt hab,
dann habe ich den Text erweitert, und plötlich hat es funktioniert :(
Was Du als nächstes tun solltest, habe ich Dir in meiner vorherigen Antwort gesagt.
malformed header from script. Bad header=Die Nachricht wurde erfolgreich versant.
Aber weist meint er mit Bad header???
Hi,
Es existiert kein Beispiel. Du musst den Fall bei Dir untersuchen - nur das kann helfen.
Wenn ich nur wüste wo. -_-
das habe ich Dir in <?m=58698&t=10588> gesagt.
Aber weist meint er mit Bad header???
Das habe ich Dir ebenfalls in <?m=58698&t=10588> gesagt.
Wenn Du nicht wie von mir vorgeschlagen den Aufruf an sich testest, also nicht von Perl heraus, und nicht (anhand der Dokumentationen) überprüfst welche Bedeutung die "||" bei dem Programm und dem System (schließlich sprichst Du dieses mit system() an) haben, drehen wir uns weiter im Kreis. Ich kann Dir nicht helfen, ohne wild drauf loszuraten - _Du_ bist jetzt gefragt.
Cheatah
Wenn Du nicht wie von mir vorgeschlagen den Aufruf an sich testest, also nicht von Perl heraus, und nicht (anhand der Dokumentationen) überprüfst welche Bedeutung die "||" bei dem Programm und dem System (schließlich sprichst Du dieses mit system() an) haben, drehen wir uns weiter im Kreis. Ich kann Dir nicht helfen, ohne wild drauf loszuraten - _Du_ bist jetzt gefragt.
Ok, ok, schon gut :(
system("net.exe send waizk66 hilfe helft mir doch") if -e "net.exe")
Mich würde einfach nur Interessieren ob ich so richtig geschrieben habe, denn mit der gleichen Einstellung hat es mal für eine kurze Zeit funktioniert, aber ich werde das Problem schon lösen können, irgendwie. Wenn ich nur ein Konkres bsp. hätte, wäre das Problem schon längstens gelöst.
Aber easy, heut ist Freitag ^^
Danke trotzdem und ich wünsch ein schönen Wochenende
Gruss
Shrööm
Hi,
system("net.exe send waizk66 hilfe helft mir doch") if -e "net.exe")
Mich würde einfach nur Interessieren ob ich so richtig geschrieben habe,
perlseitig ist das - von der runden Klammer rechts, wo ein Semikolon stehen sollte, abgesehen - in Ordnung, wobei hier natürlich nach einer "net.exe" im aktuellen Verzeichnis (wo immer das ist - im CGI-Kontext beispielsweise kann das überall und nirgends sein) gesucht wird.
Ob es _systemseitig_ richtig ist kannst Du nur erfahren, indem Du sämtlichen Perl-Code eliminierst und _nur den Systemaufruf_ startest - auf dem System, ohne Perl, ohne CGI, ohne Server, ohne alles.
denn mit der gleichen Einstellung hat es mal für eine kurze Zeit funktioniert,
Oh je, das klingt nach einem "hoppla, das funktioniert - dann lassen wir es so" :-) Du solltest Dich vielleicht erst mal mit den Grundlagen beschäftigen, was da eigentlich passiert; sowohl was Perl betrifft (perldoc -f system), als auch für das Systemkommando (wo immer das dokumentiert ist).
Cheatah
Hallo Cheatah,
als auch für das Systemkommando (wo immer das dokumentiert ist).
naiver Ansatz:
DOS-Box: "net /?" -> "net help" -> "net help send" ...
Cheatah
Hi,
naiver Ansatz:
weiß ich, ob sein System eine DOS-Box hat? Wenn ich mich recht erinnere, gab es da kurz eine Windows-Version ohne diese... :-)
Cheatah
Hi auch,
system ("net send ...." if -e "net.exe")
oioioi ... ein "if" innerhalb der Parameterliste? Geht so etwas in Perl?
(Ich weiß schon, weshalb ich keinen Perl-Code mehr in Antworten poste - aber so etwas würde ich auch dann nicht verwenden, wenn das legales Perl sein sollte ...)
Es erzeugt mir ein net send, aber dann kommt
500 Internel fehler. Den rest macht er.
An was könnte das liegen, muss ich noch etwas dazufügen?
use CGI::Carp qw(fatalsToBrowser);
in Zeile 2 Deines Skripts (direkt nach der "#!..."-Zeile) einfügen.
Das bewirkt (stark vereinfacht), daß eine eventuelle Fehlermeldung (samt korrektem HTTP-Header) in Dein Browserfenster umgeleitet wird.
Dies kompensiert in vielen Fällen den Blick ins error_log (vor allem für Leute, die keinen Zugriff darauf haben ...).
Für die Entwicklungsphase eines Skripts _unbedingt_ zu empfehlen, finde ich.
Viele Grüße
Michael
Hi,
system ("net send ...." if -e "net.exe")
oioioi ... ein "if" innerhalb der Parameterliste?
oh, aufmerksam. Das habe ich gar nicht gesehen.
Geht so etwas in Perl?
Ohne es getestet zu haben: Könnte klappen. Wenn "net.exe" existiert, wird der String geliefert, ansonsten "false", sprich: nichts. Und das würde dann vermutlich in einem Fehler resultieren, der gut und gerne bei STDERR landet...
Das könnte in der Tat das Problem sein. Dass "net.exe" nicht im aktuellen Verzeichnis (s. dazu meine Anmerkung in einer anderen Antwort) liegt, ist äußerst wahrscheinlich.
(Ich weiß schon, weshalb ich keinen Perl-Code mehr in Antworten poste - aber so etwas würde ich auch dann nicht verwenden, wenn das legales Perl sein sollte ...)
Ja, ich auch nicht :-)
use CGI::Carp qw(fatalsToBrowser);
in Zeile 2 Deines Skripts (direkt nach der "#!..."-Zeile) einfügen.
Nein, in Zeile 3 - die zweite Zeile ist zweifelsohne mit "use strict;" belegt ;-)
Für die Entwicklungsphase eines Skripts _unbedingt_ zu empfehlen, finde ich.
ACK.
Cheatah
Hallo Cheatah,
use CGI::Carp qw(fatalsToBrowser);
in Zeile 2 Deines Skripts (direkt nach der "#!..."-Zeile) einfügen.
Nein, in Zeile 3 - die zweite Zeile ist zweifelsohne mit "use strict;" belegt ;-)
ich hatte tatsäclich schon eine Version des vorherigen Postings mit dem Paar aus "use strict;" als 2. und "use CGI::Carp qw(fatalsToBrowser);" als 3. Zeile fertig, habe mich dann aber vor dem Absenden doch noch gegen diese Version entschieden - weil zu befürchten war, daß das Skript weit davon entfernt ist, "strict-fest" zu sein.
"Carp" alleine erschien mir hier einfach der schnellere Weg zum kurzfristigen Erfolg zu sein ... sobald das grundsätzliche Problem erst mal erkennbar ist, kann man ja immer noch "nachbessern".
Viele Grüße
Michael