connectie probleem met pdo_pgsql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maarten

Maarten

08/06/2009 12:27:00
Quote Anchor link
Ik ben al een tijdje bezig met het opzetten van een apache server die steunt op een postgresql DB. Deze server is/wordt een testserver zodat ik niet op de productieserver nieuwe dingen moet uittesten :)

Specs:
Linux testweb 2.6.25.11-97.fc9.x86_64
Apache2
PHP 5.2.5 met PDO extension en PDO_PGSQL
amfphp-1.9.beta.20080120

Als ik via PHP een connectie probeer te maken naar de DB krijg ik steeds
"""SQLSTATE[08006] [7] could not connect to server: Permission denied"""

hba_conf staat juist, firewalls allemaal in orde en met psql kan ik (gebruik makende van dezelfde username/password etc) wel connecteren. De php files stemmen overeen met de productie server (waar alles uiteraard wel werkt) en ik heb dus geen idee meer waar te zoeken.

De code in de php file:
function __construct() {
session_write_close();
session_start();
$config_dsn = "pgsql:host=servername;port=5432;dbname=bla;user=loginnaam;password=paswoord";

error_log('dsn:' . $config_dsn);
try
{
$this->dbh = new PDO($config_dsn);
} catch (PDOException $e)
{
error_log('Connection failed to:' . $config_dsn);
error_log($e->getMessage());
return;
}
}

Ik heb al zowat overal gezocht (websites van postgresql, pdo, via google, hier, ...) en nergens zelfs nog maar hetzelfde probleem tegen gekomen.

Enig idee iemand?

P.S.: Het is een testserver, dus ik kan wel wat uitproberen.
 
PHP hulp

PHP hulp

28/11/2024 01:31:22
 
TJVB tvb

TJVB tvb

08/06/2009 12:35:00
Quote Anchor link
Lees eens in je postgresql log wat die zegt.
Het doet me vermoeden dat je de connectie methode niet toegestaan hebt.
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
 
Maarten

Maarten

08/06/2009 12:43:00
Quote Anchor link
Niets in de logs te vinden, net met tcpdump even gekeken en er wordt zelfs niets verstuurd naar de DB server.
Mijn vermoeden ligt bij PHP, tenminste de PDO_PGSQL source, maar mijn PHP kennis voldoet niet om daar in te beginnen neuzen.
 
TJVB tvb

TJVB tvb

08/06/2009 12:55:00
Quote Anchor link
Je hebt wel je services herstart (apache,postgresql)
 
Maarten

Maarten

08/06/2009 13:44:00
Quote Anchor link
ja, duh!
 
Jurgen assaasas

Jurgen assaasas

08/06/2009 15:58:00
Quote Anchor link
probeer eens in je terminal:

telnet [server ip adres] 5432

Als je hier geen reactie op krijgt dan zijn je instellingen in hba_conf dus niet goed.

Een mogelijke 2e is dat je gewoon geen rechten hebt op de database.
 
Maarten

Maarten

08/06/2009 16:06:00
Quote Anchor link
Zoals in eerste post:
""" hba_conf staat juist, firewalls allemaal in orde en met psql kan ik (gebruik makende van dezelfde username/password etc) wel connecteren. """
 
TJVB tvb

TJVB tvb

08/06/2009 18:35:00
Quote Anchor link
Je moet voor php wel wat extra packages installeren heb je daar al naar gekeken?

En anders moet je in je config de logging aanpassen zodat je wel ziet wat er fout gaat.
 
Maarten

Maarten

09/06/2009 10:29:00
Quote Anchor link
Ok,

de oorzaak van het probleem is gevonden: SELINUX
De oplossing: SELINUX afzetten :)
 
Jurgen assaasas

Jurgen assaasas

09/06/2009 14:07:00
Quote Anchor link
Maarten schreef op 09.06.2009 10:29:
Ok,

de oorzaak van het probleem is gevonden: SELINUX
De oplossing: SELINUX afzetten :)


Je bedoeld je beveiliging uitzetten. Dat is natuurlijk geen oplossing.

Gewoon even de goede regels toepassen in SELINUX
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.