(CGI & STRATO) Skript läuft bei Strato nicht
UlfB
Hi,
ich habs woanders versucht, aber leider ohne Erfolg, d.h. Selfhml=DasEinzigWahre!!
Also, um nicht alles nochmal neu schildern zu müssen, findet ihr mein Problem im Strato-Forum unter:
http://www.strato-forum.de/cgi-bin/UltraBoard/UltraBoard.cgi?action=Read&BID=9&TID=335&SID=29572
Wiegesagt, dass Script, welches mir Calocybe freundlicherweise geschrieben hat, läuft zwar bei www.space4u.de einwandfrei, aber bei strato kireg ich immer wieder den 500er serverError.
Für den Fall, dass sich heraustellt, das ich es bei Strato gar nicht ans laufen kriegen kann:
Gibt es die Möglichkeit, ein cgi-Script sozusagen Serverübergreifend arbeiten zu lassen? Also von space4u auf strato?
Auf Hilfe hoffend,
Euer UlfB
Hi!
Was hast du denn bei Strato?
Webvisitenkarte: no CGI
PowerWeb: nur fertige CGIs
Premiunm: eigene CGIs
HTH
ciao
Stiefel
Hi,
es handelt sich natürlich um
Premiunm: eigene CGIs
aber sonst dürfte ich ja auch gar nicht in der Lge sein, mir ein cgi-Verzeichnis zu erzeugen, denke ich.
MfG
Ulf
Hi Ulf!
http://www.strato-forum.de/cgi-bin/UltraBoard/UltraBoard.cgi?action=Read&BID=9&TID=335&SID=29572
Ich hab mir das mal durchgelesen. Funktioniert es nun mit der Aenderung, die C. Bartke dort vorgeschlagen hat? (Der geaenderte Code ist inhaltlich derselbe. Uralt-Interpreter akzeptieren meine Schreibweise noch nicht, jedoch die in der geaenderten Fassung. Konnte ja nicht wissen, dass sowas noch so sehr verbreitet ist. ;-) )
Fuer praktisch ausgeschlossen halte ich, dass es mit dem "use strict" zusammenhaengt. Das ist naemlich keine x-beliebige Bibliothek, wie dort vermutet wurde, sondern zentraler Bestandteil einer jeden Perl-Distri.
Für den Fall, dass sich heraustellt, das ich es bei Strato gar nicht ans laufen kriegen kann:
Gibt es die Möglichkeit, ein cgi-Script sozusagen Serverübergreifend arbeiten zu lassen? Also von space4u auf strato?
Wenn es noch nicht funktioniert, muessen wir den Fehler einkreisen. Dazu waere der Zugriff auf das Error-Log von Noeten, damit wir erstmal ne vernuenftige Fehlermeldung sehen. Hast Du den?
So long
Hi,
http://www.strato-forum.de/cgi-bin/UltraBoard/UltraBoard.cgi?action=Read&BID=9&TID=335&SID=29572
Funktioniert es nun mit der Aenderung, die C. Bartke dort vorgeschlagen hat?
Also zumindest gibt es jetzt keinen Server-Error mehr. Ich habe exakt Cornelius Änderungen eingetragen, und bekomme jetzt anstelle der update-Mitteilung folgende Nachricht:
Internal Error
An internal error occured. Contact the maintainer of the site.
Error message: Sequence (?<...) not recognized
Wenn ich im Skript die ?<... Stelle rausnehme, kommt kein Fehler mehr, aber es passiert natürlich trotzdem nix (also es gibt zwar die updatet-Meldung, aber es wurde nix abgedatet).
Du kannst das Skript auch ausführen unter
http://www.drogenhilfe-hamm.de/cgi-bin/mcu.pl
MfG
Ulf
Fuer praktisch ausgeschlossen halte ich, dass es mit dem "use strict" zusammenhaengt. Das ist naemlich keine x-beliebige Bibliothek, wie dort vermutet wurde, sondern zentraler Bestandteil einer jeden Perl-Distri.
Für den Fall, dass sich heraustellt, das ich es bei Strato gar nicht ans laufen kriegen kann:
Gibt es die Möglichkeit, ein cgi-Script sozusagen Serverübergreifend arbeiten zu lassen? Also von space4u auf strato?Wenn es noch nicht funktioniert, muessen wir den Fehler einkreisen. Dazu waere der Zugriff auf das Error-Log von Noeten, damit wir erstmal ne vernuenftige Fehlermeldung sehen. Hast Du den?
So long
ReHi!
Internal Error
An internal error occured. Contact the maintainer of the site.
Error message: Sequence (?<...) not recognized
Oh. Das gibt es also in aelteren Versionen auch noch nicht. Das nervt mich jetzt aber schon etwas.
Wenn ich im Skript die ?<... Stelle rausnehme, kommt kein Fehler mehr, aber es passiert natürlich trotzdem nix (also es gibt zwar die updatet-Meldung, aber es wurde nix abgedatet).
Ja, das ist naemlich genau die Stelle, wo der alte Inhalt durch den neuen ersetzt wird.
Ich kann Dir jetzt keinen getesteten Workaround bieten (mangels Zeit), aber versuche mal folgendes. In der sub Exec_Update:
statt:
# check if file is alright
$begin = quotemeta($CONFIG{'begin-mark'});
$end = quotemeta($CONFIG{'end-mark'});
die("Cannot find content delimiters in that file.") unless ($fcontent =~ /$begin(.*?)$end/s);
# replace the content
$fcontent =~ s/(?<=$begin).*?(?=$end)/$content/s;
machst Du:
# check if file is alright
$begin = $CONFIG{'begin-mark'};
$end = $CONFIG{'end-mark'};
die("Cannot find content delimiters in that file.") unless ($fcontent =~ /\Q$begin\E(.*?)\Q$end\E/s);
# replace the content
$fcontent =~ s/\Q$begin\E.*?\Q$end\E/$begin$content$end/s;
Wie gesagt nicht getestet, aber einen Versuch ist es schon wert.
HTH && So long
Super, das wars. :-)
Lieben Dank nochmal.
Im Anschluss nochmal das volständige Skript,
mfg, der ulf
PS. Huch, ich glaube das wäre zu gross. Es liegt erstmal unter