Обсуждение: conection problem after upgrade to php5 and postgres 8.0.3

Поиск
Список
Период
Сортировка

conection problem after upgrade to php5 and postgres 8.0.3

От
"John Coulthard"
Дата:
Hi,

I've had to rebuild our web server and now my php scripts will not connect
to postgres can anyone tell me why?

Thanks for any help, details below.
Annie

I was using Redhat9, postgres 7.3.4, php 4.2.2 and apache2
now using  Fedora core 4, postgres 8.0.3, php 5.0.4 and apache2

I know php is configured for psql
http://zeldia.cap.ed.ac.uk/Lumbribase/php_info.php

In postgrsql.conf I tried changing listen_addresses = 'localhost' to
listen_addresses = '*' but that didn't work.

I think the pg_hba.conf is OK..
# "local" is for Unix domain socket connections only
local   all         all                                 ident sameuser
# IPv4 local connections:
host    all         all         ***.*.*.*/**          ident sameuser
# IPv6 local connections:
host    all         all         ::*/***               ident sameuser

The error in /var/log/http/error_log is...
[client ***.***.***.***] PHP Warning:  pg_connect() [<a
href='function.pg-connect'>function.pg-connect</a>]: Unable to connect to
PostgreSQL server: FATAL:  Ident authentication failed for user
"webuser" in /var/www/html/Lumbribase/pg_name.php on line 17,
referer: http://zeldia.cap.ed.ac.uk/Lumbribase/search_id.php

and a typical php connection script is...
$PG_HOST="localhost";
$PG_PORT=5432;
$PG_DATABASE="lumbribase";
$PG_USER="webuser";
$PG_PASS="";
$PI=pi();

$dbconn=pg_connect( "dbname=$PG_DATABASE host=$PG_HOST port=$PG_PORT
user=$PG_USER password=$PG_PASS" );
if ( ! $dbconn ) {
    echo "Error connecting to the database !<br> " ;
    printf("%s", pg_errormessage( $dbconn ) );
    exit();
}

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/


Re: conection problem after upgrade to php5 and postgres 8.0.3

От
Juan Miguel Paredes
Дата:
Hi, John!

> I think the pg_hba.conf is OK..
> # "local" is for Unix domain socket connections only
> local   all         all                                 ident sameuser
> # IPv4 local connections:
> host    all         all         ***.*.*.*/**          ident sameuser
> # IPv6 local connections:
> host    all         all         ::*/***               ident sameuser

Note that the above configuration will use 'ident sameuser'
authentication for connections via tcp/ip (like the one you're trying
from your webserver).  So, your connection will need an OS account
(and no password supplied). That's what your error_log is telling you,
and I'm guessing that the account you're supplying for the connection
is not an OS account, but a Postgres account.  If you want to use
Postgres account authentication (e.g. users created via CREATE USER in
Postgres DB), perhaps you should try md5 authentication in your
pg_hba.conf.

More details in
http://www.postgresql.org/docs/8.0/interactive/client-authentication.html

Regards.
>
> The error in /var/log/http/error_log is...
> [client ***.***.***.***] PHP Warning:  pg_connect() [<a
> href='function.pg-connect'>function.pg-connect</a>]: Unable to connect to
> PostgreSQL server: FATAL:  Ident authentication failed for user
> "webuser" in /var/www/html/Lumbribase/pg_name.php on line 17,
> referer: http://zeldia.cap.ed.ac.uk/Lumbribase/search_id.php
>
> and a typical php connection script is...
> $PG_HOST="localhost";
> $PG_PORT=5432;
> $PG_DATABASE="lumbribase";
> $PG_USER="webuser";
> $PG_PASS="";
> $PI=pi();
>
> $dbconn=pg_connect( "dbname=$PG_DATABASE host=$PG_HOST port=$PG_PORT
> user=$PG_USER password=$PG_PASS" );
> if ( ! $dbconn ) {
>     echo "Error connecting to the database !<br> " ;
>     printf("%s", pg_errormessage( $dbconn ) );
>     exit();
> }
>