PDA

View Full Version : [php] Problemi da principiante con query su PostgreSql


utrecht
17-03-2004, 08:12
Questo è il problema: su una mandrake 9.2 il server PostgreSql è avviato (ho controllato dal pannello di amministrazione) e infatti riesco dalla shell a effettuare connessioni, creare database, creare e modificare tabelle... insomma sembrerebbe tutto a posto.

Provo dunque a cimentarmi con con un codice base per fare la prima connessione via web:
---
<?php
$dbconn = pg_connect ("host=localhost port=5432 dbname=miodb user=mia_user password=mia_pwd");
if($dbconn){echo "Sei connesso!";}
else {echo "Non funziona...";}
pg_close($dbconn);
?>
---

... ma ottengo come risposta dal browser: 'undefined function pg_connect()'.
Eppure questa è la sintassi trovata nella documentazione ufficiale (ho provato anche con pg_pconnect ma ottengo lo stesso tipo di risposta).
L'ultimo errore che mi sarei aspettato di trovare, una funzione interna non riconosciuta! :(
La versione di php è quella integrata nella distro mandrake9.2 (non la ricordo con precisione perchè ho tutto sul portatile di casa) ma l'interprete 'lavora' bene su qualsiasi altro tipo di codice php.

Qualcuno riesce a darmi qualche suggerimento?
Grazie

kaworu.it
17-03-2004, 08:33
probabilmente quel php non è stato compilato per il supporto a PostgreSql...devi scaricare i source e compilarlo con il supporto

cionci
17-03-2004, 08:51
Credo che basti abilitare l'estensione php_pgsql dal php.ini...

utrecht
17-03-2004, 10:25
...devi scaricare i source e compilarlo con il supporto

Nel caso, malaugurato, si dovesse trattare di questa opzione... ehm... come si fa? :(
O meglio, come faccio a trovare la versione ad hoc con il supporto php?

Ri-grazie!

kaworu.it
17-03-2004, 12:08
Originariamente inviato da utrecht
Nel caso, malaugurato, si dovesse trattare di questa opzione... ehm... come si fa? :(
O meglio, come faccio a trovare la versione ad hoc con il supporto php?

Ri-grazie!


è il php che devi ricompilare non il postgre...
non è così difficili scarichi i source da php.net la versione che preferisci e quando dai il ./configure oltre ai normali parametri che devi passare aggiungi anche --whith-pgsql=/directory/to/postgre
ti posto per esempio la mia stringa che ho usato per il miop serverino locale
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-gd --with-jpeg-dir=/usr/local/lib --enable-ftp --whith-pgsql=/directory/to/postgre

l'ultimo l'ho aggiunto per farti l'esempio :D

daniele_dll
17-03-2004, 16:52
essendo che sei sotto una distro con i pacchetti ti basta installare il pacchetto relativo a pgsql ^^

kaworu.it
17-03-2004, 17:03
Originariamente inviato da daniele_dll
essendo che sei sotto una distro con i pacchetti ti basta installare il pacchetto relativo a pgsql ^^

tu che consigli un pacchetto.... questa me la segno :eheh: :eheh: :eheh:

daniele_dll
17-03-2004, 17:07
Originariamente inviato da kaworu.it
tu che consigli un pacchetto.... questa me la segno :eheh: :eheh: :eheh:

ricompilare php vuoldire installare\ricompilare TUTTE le dipendenze (ovvero i vari header di tutti i pacchetti che si vogliono usare) siccome so quello che vuol dire, soprattutto con MDK, uno fa MOLTO prima a mettere un pacchetto pronto! Io mi compilo tutto a mano, ma non conoscendo le conoscenze dell'interessato nn gli dico vai a ricompilare xche è un suicidio ^^

l'ho detto con cognizione di causa...quindi è inutile che te la segni ^^

utrecht
02-04-2004, 09:05
Ho installato il pacchetto relativo a pgsql ma ecco l'errore che ottengo:
---
Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Connection refused
Is the server running on host localhost and accepting TCP/IP connections on port 5432?
. in/var/www/html/php/postgres.php3 on line 2
Your connecton is refused...
---

Il codice che uso:
<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=miodb user=postgres password=postgres");
if($dbconn){echo "Connected!";}
else {echo "Your connecton is refused...";exit();}
pg_close($dbconn);
?>

Ho letto un po' di documentazione e non è per caso che devo ricompilare a mano con una famigerata opzione '-i'?
Grazie a tutti per l'aiuto!

cionci
03-04-2004, 14:10
PHP sembra configurato a dovere...qui sembra un problema di postgresql...