Re: Unable to connect to PostgreSQL server via PHP - Mailing list pgsql-general

From John Coulthard
Subject Re: Unable to connect to PostgreSQL server via PHP
Date
Msg-id BAY121-F21350AF1A219157C6CB9A8CFDE0@phx.gbl
Whole thread Raw
In response to Re: Unable to connect to PostgreSQL server via PHP  ("John Coulthard" <bahhab@hotmail.com>)
List pgsql-general
It was SELinux denying apache permission to make TCP connections!

I thought I had SELinux turned off but it wasn't. To be sure it is do
   /usr/sbin/sestatus | grep SELinux
and if it comes back with anything other than SELinux status:  disabled it's
still running.

While I was talking to the php board I discovered you can configure php to
run from the command line (mine was by default).  So I wrote this bit of php
(obviously change the database name and you may need a user and passwd)...

<?php
$dbconn=pg_connect("dbname=lumbribase");
if ( ! $dbconn ) {
    echo "Error connecting to the database !<br> " ;
    printf("%s", pg_errormessage( $dbconn ) );
    exit(); }
else {echo "connected", "\n";}
?>

....saved it as test.php and at a shell prompt ran...

   [john@ tmp]$ php test.php
   connected

If you get 'connected' you know php and postgres are talking via tcp and
some secondary process (firewall/SELinux) is preventing the apache
connection.

Thanks for the help.


>From: "John Coulthard" <bahhab@hotmail.com>
>To: tgl@sss.pgh.pa.us
>CC: pgsql-general@postgresql.org
>Subject: Re: [GENERAL] Unable to connect to PostgreSQL server via PHP
>Date: Mon, 13 Aug 2007 15:34:19 +0000
>
>
>
>
>>From: Tom Lane <tgl@sss.pgh.pa.us>
>>To: "John Coulthard" <bahhab@hotmail.com>
>>CC: pgsql-general@postgresql.org
>>Subject: Re: [GENERAL] Unable to connect to PostgreSQL server via PHP
>>Date: Mon, 13 Aug 2007 10:09:15 -0400
>>
>>"John Coulthard" <bahhab@hotmail.com> writes:
>> > That's not my problem though this is "could not connect to server:
>> > Permission denied"  If it's denying permission I must have the
>>permissions
>> > set wrong but where to I start looking for them?
>>
>>"Permission denied" is a pretty strange error for a TCP connect failure,
>>as that is not a filesystem operation.
>>
>>Are you able to connect with psql, or some other non-php client?
>>Use "psql -h localhost" to make sure it tries a TCP connection not
>>a Unix-socket connection.
>>
>
>Thanks. You mean like this?  This connects without an error.
>
>[root@xyala john]# su webuser
>[webuser@xyala john]$ psql -h localhost lumbribase
>Welcome to psql 8.0.8, the PostgreSQL interactive terminal.
>
>Type:  \copyright for distribution terms
>       \h for help with SQL commands
>       \? for help with psql commands
>       \g or terminate with semicolon to execute query
>       \q to quit
>
>lumbribase=>
>
>_________________________________________________________________
>FREE pop-up blocking with the new MSN Toolbar - get it now!
>http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 5: don't forget to increase your free space map settings

_________________________________________________________________
Don't just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/


pgsql-general by date:

Previous
From: "Alexander Staubo"
Date:
Subject: Re: Transactional DDL
Next
From: "Pavel Stehule"
Date:
Subject: is this trigger safe and efective? - locking (caching via triiggers)