Schrift
[thread]138[/thread]

cgi-skript kann nicht schreiben (Seite 2)



<< |< 1 2 3 >| >> 29 Einträge, 3 Seiten
renee
 2004-01-09 17:04
#797 #797
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=habinet,09.01.2004, 09:27]ja, der apache läuft unter wwwrun. wenn ich die rechte auf 777 setze, dann meckert suexec.[/quote]
Was gibt es denn für Fehlermeldungen??
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/
habinet
 2004-01-09 17:50
#798 #798
User since
2004-01-09
14 Artikel
BenutzerIn
[default_avatar]
[quote=tomlong,09.01.2004, 15:51]und du hast die cgi skripte auch ganz sicher mit dem dazugehörigen FTP benutzer ins cgi-bin Verzeichnis upgeloaded? ... sonst könnte vielleicht das Prob sein, dass die Scripte einfach nicht mit dem richtigen user laufen und daher keine Schreibrechte haben!?!?!?[/quote]
der server, auf dem das ganze läuft steht im selben netzwerk und ich habe per samba die entsprechenden verzeichnisse freigegeben und in meinen "windows-baum" eingebunden (netzlaufwerk).
die dateien laufen unter dem benutzer dem auch das public_html gehört und das liegt im home des selben benutzers.
habinet
 2004-01-09 18:03
#799 #799
User since
2004-01-09
14 Artikel
BenutzerIn
[default_avatar]
[quote=renee,09.01.2004, 16:04][quote=habinet,09.01.2004, 09:27]ja, der apache läuft unter wwwrun. wenn ich die rechte auf 777 setze, dann meckert suexec.[/quote]
Was gibt es denn für Fehlermeldungen??[/quote]
okay, ich habe mal alle gelöscht und dann einen zugriff auf den server und beide scripte gestartet. das sind die ergebnisse:
Quote
access_log:

217.172.183.142 - - [09/Jan/1994:16:53:27 +0100] "GET /~syndi/ HTTP/1.1" 200 676
217.172.183.142 - - [09/Jan/1994:16:53:28 +0100] "GET /~syndi/ HTTP/1.1" 200 676
217.172.183.142 - - [09/Jan/1994:16:53:29 +0100] "GET /~syndi/black.html HTTP/1.1" 200 143
217.172.183.142 - - [09/Jan/1994:16:53:29 +0100] "GET /~syndi/navigation.html HTTP/1.1" 200 591
217.172.183.142 - - [09/Jan/1994:16:53:29 +0100] "GET /~syndi/startseite.html HTTP/1.1" 200 2656
217.172.183.142 - - [09/Jan/1994:16:53:30 +0100] "GET /~syndi/black.html HTTP/1.1" 200 143
217.172.183.142 - - [09/Jan/1994:16:53:32 +0100] "GET /~syndi/cgi-bin/guestbook.cgi HTTP/1.1" 500 609

error_log

[Sun Jan 9 16:53:32 1994] [error] [client 217.172.183.142] Premature end of script headers: /home/syndi/public_html/cgi-bin/guestbook.cgi

suexec_log

[1994-01-09 16:53:32]: info: (target/actual) uid: (syndi/syndi) gid: (users/users) cmd: guestbook.cgi

das war das, und jetzt vielleicht noch zwei abschnitte in der httpd.conf:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

und weiter unten dann:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ScriptAlias /cgi-bin/ "/home/syndi/public_html/cgi-bin/"

<Directory "/home/*/public_html/cgi-bin/">
Options +ExecCGI
# SetHandler cgi-script
<Limit PUT DELETE GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>

ALso, ich habe in der config öfter mal kleinigkeiten geändert, alle änderungen kann ich nicht zurückverfolgen und in meinem jugendlichen leichtsinn habe ich vorher auch keine kopie gemacht ("geht ja schnell und nur die eine zeile...").
ich hoffe, damit kann jemand was anfangen.
so langsam gehen mir nämlich die ideen aus.
grüße\n\n

<!--EDIT|habinet|1073664417-->
tomlong
 2004-01-09 21:19
#800 #800
User since
2003-08-04
93 Artikel
BenutzerIn
[default_avatar]
sieht mir irgendwie nach nem falschen Header aus ...
hast du sowas wie

my $query = new CGI;
print $query->header();

in deinem guestbook script oder irgendeine print Anweisung die nen ordentlichen Header ausgibt??
Live long and prosper!
42;
habinet
 2004-01-09 22:42
#801 #801
User since
2004-01-09
14 Artikel
BenutzerIn
[default_avatar]
hallo,
da ich nicht programmieren kann habe ich das skript aus dem netz gefischt, www.cheyennex.de. an dem skript habe ich nichts geändert, außer den pfaden.
würde ja alles hier reinsetzen, aber das wäre wohl etwas viel.
habe mal nach deinen zwei zeilen gesucht und lediglich zu "print" was gefunden (print "Content-type: text/html\n\n";). wenn ich das skript manuell mit "perl" aufrufe, gibt er mir html-code raus. daher scheint mir alles in ordnung.
grüße
renee
 2004-01-09 22:47
#802 #802
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
poste mal einen Teil vom Skript (Benutze dabei bitte die[code]-Tags)...
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/
habinet
 2004-01-09 23:02
#803 #803
User since
2004-01-09
14 Artikel
BenutzerIn
[default_avatar]
okay, ich versuche mal wichtige stellen zu finden.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/perl
#
use CGI::Carp 'fatalsToBrowser';
(...)
# Benutzername zum Einträge löschen und Kommentare verfassen
$user_name = "root";

# Userpasswort zum Einträge löschen und Kommentare verfassen
$user_pwd = "root";

# Hier kann man den Namen des Gästebuchscripts eintragen.
# Einige Provider laasen nur Scripte mit bestimmten Endungen zu,
# welche man hier ändern kann.
$scriptname = "guestbook.cgi";

# Trage hier den Namen der Log Datei ein, in der alle Beiträge
# gespeichert werden sollen. Diese Datei wird automatisch erstellt.
# Sollte sie nicht erstellt werden, dann prüfe bitte ob das
# Verzeichnis, in welchen sich das Script befindet auch die Rechte
# zum ausführen hat (chmod)
$data_log = "guestlog.log";

# Sendmail-Programm zu erfragen beim Provider (nur unter Unix)
$mailprog = '/usr/sbin/sendmail';

# Deine eMail Adresse # Den \ vor dem @ nicht vergessen
$send = "root\@localhost";

# URL zum Image Verzeichniss
$url_image = "../icons/image/";

# URL zum Gästebuch
$url_guestbook = "../cgi-bin/guestbook.cgi";
(...)
# URL für Link zurück
$link_hp = "http://www.cheyennex.de/gb/gb2x.shtml";
(...)
read(STDIN, $input, $ENV{'CONTENT_LENGTH'});

@pairs = split(/&/, $input);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);

$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$FORM{$name} = $value;
}

print "Content-type: text/html\n\n";

&date;

(...)

sub anzeigen {
open(FILE, "$data_log");
$i = 0;
while(<FILE>) {$i++;}
close(FILE);

if ($FORM{'anzahl'} eq "alle") {$anzahl = $i - 1;}

$k = $i - 1;
$k2 = $k % $anzahl;
$k3 = $k / $anzahl;
$anzeigen = $anzahl * $string_wert1 + 1;

open(FILE, "$data_log");
@FILE = <FILE>;
close(FILE);
&top;
(...)


die teile halte ich als unwissender für wichtig. mehr möchte ich hier nicht posten um das forum nicht zu sprengen.
ich denke, den kompletten code bekommt man bei denen auf der seite.
renee
 2004-01-09 23:15
#804 #804
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich kann jetzt keinen Fehler erkennen, aber lösch' mal das
Code: (dl )
print "Content-type: text/html\n\n";
und schreib nach den ganzen "use" das hier:
Code: (dl )
1
2
my $cgi = CGI->new();
print $cgi->header(-type => 'text/html');
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/
habinet
 2004-01-10 14:23
#805 #805
User since
2004-01-09
14 Artikel
BenutzerIn
[default_avatar]
[quote=renee,09.01.2004, 22:15]Ich kann jetzt keinen Fehler erkennen, aber lösch' mal das
Code: (dl )
print "Content-type: text/html\n\n";
und schreib nach den ganzen "use" das hier:
Code: (dl )
1
2
my $cgi = CGI->new();
print $cgi->header(-type => 'text/html');
[/quote]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
Content-type: text/html

<H1>Software error:</H1>
<CODE>Can't locate object method &quot;new&quot; via package &quot;CGI&quot; at guestbook.cgi line 4.
</CODE>
<P>
For help, please send mail to this site's webmaster, giving this error message
and the time and date of the error.

[Mon Jan 10 13:18:49 1994] guestbook.cgi: Can't locate object method "new" via package "CGI" at guestbook.cgi line 4.

das kam dabei raus. da ich wie oben erwähnt keine ahnung von programmieren habe weiß ich natürlich jetzt auch nicht weiter.\n\n

<!--EDIT|habinet|1073737472-->
renee
 2004-01-10 16:09
#806 #806
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
hast Du ein
Code: (dl )
use CGI;
in dem Skript stehen?? Wenn nein, dann noch einfügen...
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/
<< |< 1 2 3 >| >> 29 Einträge, 3 Seiten



View all threads created 2004-01-09 02:41.