Schrift
[thread]631[/thread]

Hilfe bei Website mit Perl/CGI/XML benötigt! (Seite 6)

Leser: 1


<< |< 1 ... 3 4 5 6 >| >> 58 Einträge, 6 Seiten
renee
 2006-01-25 11:28
#6400 #6400
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das ist kein Problem von dem CGI-Skript sondern hat wohl was mit suexec zu tun (findet man immer wenn man nach der Fehlermeldung googelt)...

Siehe:
http://www.chat11.com/Failed_...._Script
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
wusel81
 2006-01-26 12:20
#6401 #6401
User since
2005-12-20
27 Artikel
BenutzerIn
[default_avatar]
Sollte das dann so aussehen ?
Code: (dl )
1
2
3
4
5
6
7
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser); # Zeigt die Fehler an
use HTML::Template;

print "Content-type: text/html\n\n";
warningsToBrowser(1);


und das "<" im open befehl sagt aus, dass die datei nur zum lesen geöffnet wird, und nicht wie vorher auch zum schreiben, richtig?\n\n

<!--EDIT|wusel81|1138275727-->
Strat
 2006-01-26 17:34
#6402 #6402
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
was auch sein kann ist, dass der webserver fuer die Ausfuehrung nicht ins scriptverzeichnis wechselt (kann man mit CPAN:Cwd recht einfach herausfinden), und von daher das oeffnen der dateien ueber einen relativen dateinamen fehlschlaegt.
deshalb verwende ich da immer das Standardmodul CPAN:FindBin, das die Variable $FindBin::Bin bereitstellt, die den Pfad zum ausgefuehrten Script beinhaltet. Das ist nicht nur bei CGI-Scripten sinnvoll, sondern auch bei anderen, damit man die z.B. auch ueber den PATH aufrufen kann und sie noch korrekt funktionieren.
Code: (dl )
1
2
3
4
5
6
7
use FindBin;
my $idDatei = "$FindBin::Bin/../$id.txt";
open(my $TEXTDATEI, "<", $idDate) or die "Error: couldn't read '$idDatei': $!\n";
while (my $line (<$TEXTDATEI>)) {
# ...
} # while
close $TEXTDATEI;

oder so aehnlich
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
renee
 2006-01-26 23:59
#6403 #6403
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das wird hier nicht das Problem sein, da dann der Fehlertext im Browser angezeigt werden würde (Der OP hat ja use CGI::Carp qw(fatalsToBrowser) benutzt). Ausserdem wird nach den ganzen uses gleich der Header ausgegeben. Also wäre die letzte Fehlermeldung im error.log nicht da...

Die error.log-Meldungen passen auch nicht ganz zu einem "normalen" Fehler...

Zu den Fehlermeldungen, die der OP gepostet hat, findet man viele Sachen bei Google, die aussagen, dass es wohl ein suexec-Problem sein dürfte.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
wusel81
 2006-01-29 21:29
#6404 #6404
User since
2005-12-20
27 Artikel
BenutzerIn
[default_avatar]
Also so langsam bekomm ich ein Problem... Ich MUSS das Donnerstag vorstellen.

Habe das Script jetzt voll runtergeschraubt um es zu testen.

die irland.cgi sieht nun so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser); # Zeigt die Fehler an
use HTML::Template;

print "Content-type: text/html\r\n\r\n";
warningsToBrowser(1);


# Hier wird das Template geoeffnet
my $template = HTML::Template->new(filename => '/irland_mille.tmpl');


# Die Textdatei wird geoeffnet und an die Variable $text bzw. danach an TEXT uebergeben
open(TEXTDATEI, ">>", "/home.txt") or die "Can't open home.txt: $!";
my $text = join '', <TEXTDATEI>; # Der join Befehl liest alle Zeilen der Datei ein
close(TEXTDATEI);
$template->param(TEXT => $text); # evtl. use Encode::Entities; und encode_entities $text, denn $text kann HTML enthalten.


print $template->output();


Die irland_mille.tmpl sieht so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<html>
<head>
<title>Irland </title>
<link rel="stylesheet" type="text/css" script type="text/javascript" href="style.css">
</head>

<body>
<div align="center"><br>
<br>
<table width="650" border="0">
<tr>
<td colspan="2"><div align="center"><img src="/images/header.jpg" alt="Header" width="650" height="168" /></div>
<div align="center"></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"><img src="/images/navi.gif" alt="Navigation" width="650" height="23" border="0" usemap="#Map" /></div>
<div align="center"></div></td>
</tr>
<tr>
<td height="23"><div align="center"></div></td>
<td width="386"><div align="center">
</div></td>
</tr>
<tr>
<td width="260"><div align="center"><img src="/images/home.jpg" width="250" height="298" border="0" align="left" /></div></td>
<td rowspan="2" valign="top">
<!-- TMPL_VAR NAME=TEXT -->
</td>
</tr>
<tr>
<td><div align="center"><img src="/images/home_titel.gif" alt="Titel" width="250" height="69" align="left" /></div></td>
</tr>
<tr>
<td><div align="center"></div></td>
<td><div align="center"></div></td>
</tr>
</table>
</div>
<map name="Map" id="Map"><br>
<area shape="rect" coords="26,3,93,20" href="" target="_self" alt="Home" />
<area shape="rect" coords="124,3,185,20" href="" target="_self" alt="Land" />
<area shape="rect" coords="218,3,350,20" href="" target="_self" alt="Geschichte" />
<area shape="rect" coords="382,3,504,20" href="" target="_self" alt="Menschen" />
<area shape="rect" coords="536,3,622,20" href="" target="_self" alt="Politik" />
</map>
</body>
</html>


Kann das bitte mal jemand bei sich ausprobieren ???
home.txt kann ja irgend nen text enthalten.
renee
 2006-01-29 23:48
#6405 #6405
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
In Deinem Skript fallen mir zwei Fehler auf:

1.) Dein Template liegt bestimmt nicht auf Root. Die filename-Angabe bezieht sich auf das Filesystem und nicht auf die URL!
2.) Du versuchst die home.txt zu schreiben (anhaengen) zu oeffnen. Beim open muss das ein '<' sein..
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2006-01-29 23:52
#6406 #6406
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
und noch ein dritter Fehler:
*) home.txt liegt auch nicht im Root. Auch hier bezieht sich der Pfad auf das Filesystem und nicht auf die URL.

Diese 3 Fehler beseitigt, laeuft es bei mir einwandfrei. Siehe http://renee-baecker.de/renee_cgi/irland.cgi
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
wusel81
 2006-01-30 18:45
#6407 #6407
User since
2005-12-20
27 Artikel
BenutzerIn
[default_avatar]
Hi !

Ja bei mir gehts jetzt auch. Es waren zum einen die Pfadangaben, zum anderen das Dateihandle
und wa am wichtigesten ar... der server war nicht richtig konfiguriert !!!

danke nochmal !!!
<< |< 1 ... 3 4 5 6 >| >> 58 Einträge, 6 Seiten



View all threads created 2005-12-20 19:44.