Thread In PostgreSQL einloggen. (12 answers)
Opened by pug at 2006-01-22 17:43

pug
 2006-01-22 17:43
#33971 #33971
User since
2005-08-17
91 Artikel
BenutzerIn
[default_avatar]
Ich habe seit gestern noch ein anderes Problem. Ich wa gezwungen mein System neu zu installieren ( längere Geschichte ) und jetzt funktionieren meine CGI-Skripte nicht mehr.

In die /etc/postgresql/8.1/main/pg_hba.conf habe ich folgendes wieder eingetragen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
# Database administrative login by UNIX sockets
local all postgres ident sameuser

# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 md5


Und hier habe ich ein einfaches Beispiel-Skript, das einfach nur eine Tabelle abfragt:
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
#!/usr/bin/perl

use warnings;
use strict;
use CGI;
use DBI;

my $zeile;
my $obj = new CGI;

open ( FH ,"</var/www/db/db.txt" ) or die "Kann Datei nicht oeffnen!\n";
my $db_name = <FH>;
my $db_user = <FH>;
my $db_passwd = <FH>;


close (FH);
chomp for $db_name, $db_user, $db_passwd;

my $dbh = DBI->connect ( "DBI:Pg:dbname=$db_name", "$db_user", "$db_passwd" )
or die "Keine Verbindung mit der DB!\n";

my $result = $dbh->prepare ( "SELECT * from kunden" ) or die "Vorbereitung nicht durchfuehrbar!\n";

$result->execute() or die "Abfrage nicht ausfuehrbar!\n";


print $obj->header ( "text/html" ),
$obj->start_html ( -title => "alle User" );

print $obj->h3 ( "Auflistung aller User \n" );

while ( $zeile = $result->fetchrow_arrayref )
{
print $obj->h4 ( "$zeile->[0] , $zeile->[1] , $zeile->[2] , $zeile->[3], $zeile->[4], $zeile->[5] \n" );
}
print $obj->end_html;

$dbh->disconnect();

exit;

Ich bekomme aber immer nur diese Meldung:
Quote
[Sun Jan 22 16:26:41 2006] [error] [client 127.0.0.1] Premature end of script headers: /usr/lib/cgi-bin/alle_user.pl


Und davor auch schon mal diese Meldung:
Quote
[Sun Jan 22 16:18:56 2006] [error] [client 127.0.0.1] Premature end of script headers: /usr/lib/cgi-bin/alle_user.pl
DBI connect('dbname=test2','postgres',...) failed: FATAL: Ident-Authentifizierung für Benutzer »postgres« fehlgeschlagen
at /usr/lib/cgi-bin/alle_user.pl line 18

Der Abgabetermin rückt näher aber ich muss mich auf einmal wieder mit Grundlagen auseinandersetzen. Warum geht das denn jetzt nicht mehr?

Vielen Dank schonmal vorab.

Gruss Christian
Ein Betriebssystem sie zu knechten, sie alle zu finden, Ins Dunkel zu treiben und ewig zu binden.

William Gates III

View full thread In PostgreSQL einloggen.