connectie probleem met pdo_pgsql
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.
Het doet me vermoeden dat je de connectie methode niet toegestaan hebt.
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
Mijn vermoeden ligt bij PHP, tenminste de PDO_PGSQL source, maar mijn PHP kennis voldoet niet om daar in te beginnen neuzen.
Je hebt wel je services herstart (apache,postgresql)
ja, duh!
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.
""" hba_conf staat juist, firewalls allemaal in orde en met psql kan ik (gebruik makende van dezelfde username/password etc) wel connecteren. """
En anders moet je in je config de logging aanpassen zodat je wel ziet wat er fout gaat.
de oorzaak van het probleem is gevonden: SELINUX
De oplossing: SELINUX afzetten :)
Maarten schreef op 09.06.2009 10:29:
Ok,
de oorzaak van het probleem is gevonden: SELINUX
De oplossing: SELINUX afzetten :)
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