PDA

View Full Version : [php]postgres e php


postgres
16-04-2008, 10:40
Ho da poco installato su winXp come dicono le guide di html.it PostgreSQL facendoci su una base di dati, ho installato apache 2.2.8 senza problemi, e PHP 5.2 senza problemi.
Ho effettuato le varie modifiche del file php.ini e httpd.conf come da guida e quando ho provato il file test.php mi è comparsa su http://localhost la pagine di info su PHP come da copione.

L'intoppo c'è stato quando ho fatto un'altra pagina PHP: pg_conn.php
con il codice:
<?php

$conn = @pg_connect('dbname=db_test_user user=test_user password=pass_test_user');

if(!$conn) {
die('Connessione fallita !<br />');
} else {
echo 'Connessione riuscita !<br />';
}

?>


ma quando scrivo l'indirizzo http://localhost/pg_conn.php compare una schermata bianca invece di "connessione fallita" o "riuscita"! perchè???

Ho visto in questo sito in un'altra discussione (http://www.hwupgrade.it/forum/showthread.php?p=21764873)
che era capitata questa cosa anche a un'altra persona e gli era stato consigliato di controllare che ci fosse lo script pgsql nella pagina di test.php con codice:
<?php
phpinfo();
?>
e di abilitarlo nel file di configurazione. io non l'ho trovato effettivamente, come si configura?
poi tra l'altro la persona che aveva il problema ha risolto togliendo solamente dei ";" dal file php.ini che io non ho!


Vi prego di aiutarmi!!!

amedeoviscido
16-04-2008, 13:49
Cerca nel file php.ini


[PHP_PGSQL]
extension=php_pgsql.dll

amedeoviscido
16-04-2008, 13:53
C'è anche questa parte:

[PostgresSQL]
; Allow or prevent persistent links.
pgsql.allow_persistent = On

; Detect broken persistent links always with pg_pconnect().
; Auto reset feature requires a little overheads.
pgsql.auto_reset_persistent = Off

; Maximum number of persistent links. -1 means no limit.
pgsql.max_persistent = -1

; Maximum number of links (persistent+non persistent). -1 means no limit.
pgsql.max_links = -1

; Ignore PostgreSQL backends Notice message or not.
; Notice message logging require a little overheads.
pgsql.ignore_notice = 0

; Log PostgreSQL backends Noitce message or not.
; Unless pgsql.ignore_notice=0, module cannot log notice message.
pgsql.log_notice = 0

postgres
16-04-2008, 16:11
Ho controllato, ci sono.
Un'amico ha detto forse che dovrei abilitare le librerie PEAR...
se si, come si abilitano?

amedeoviscido
16-04-2008, 19:13
ma c'è la dll nella cartella di php???

postgres
16-04-2008, 21:11
Di dll sono pieno, come si chiama quella che intendi tu?

amedeoviscido
17-04-2008, 08:37
php_pgsql.dll

postgres
17-04-2008, 16:34
ne ho 2 di quel file.

uno in
C:\php
e un altro in
C:\programmi\php\ext

la prima cartella è dove si trova il package PHP 5.2.5 zip package che ho scaricato da qua: http://www.php.net/downloads.php
l'altra è la cartella dove è installato php.

khelidan1980
17-04-2008, 16:46
sei sicuro che non ti fallisce a causa di qualche problema sull'autenticazione?Non basta essere root sulla macchina locale devi anche configurare postgres,accetta vari metodi di connessione anche quello senza password

postgres
18-04-2008, 13:24
nel file pg_hba .conf ci ho questo schema di configurazione:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
#host all all ::1/128 md5


devo cambiare qualcosa?

postgres
19-04-2008, 14:49
Dopo aver modificato il file pg_conn.php così:

$conn = pg_connect('dbname=db_test_user user=test_user password=pass_test_user')
or die('Connessione fallita !<br />');

echo 'Connessione riuscita !<br />';

finalmente la pagina bianca non c'è, ma mi dice:

Fatal error: Call to undefined function pg_connect() in C:\php\progetto\pg_conn.php on line 3