salut,
J aurai aussi aimé savoir est ce qu avec easyphp 1.8 je pourrai me connecter et faire des scripts qui accederont à ma base postgre? ?
merci
salut,
J aurai aussi aimé savoir est ce qu avec easyphp 1.8 je pourrai me connecter et faire des scripts qui accederont à ma base postgre? ?
merci
La réponse est oui
il faut installer postgresql, et vérifier que l'extension php_pgsql.dll est activé dans le php.ini
KrysKool
oui, la .dll est deja presente et meme active.
Regarde dans le phpinfo(); a la section postgresql pour voir si le module est chargé. Si ce n'ai pas le cas, fait le charger au démarrage.
[edit]owned par Kryskool[/edit]
php.ini qui se trouve dans ce repertoire
C:\Program Files\EasyPHP1-8\php c est bien cela
mon fichier en ce qui concerne postgresql ce presente comme cela
est ce que c est activé
[PostgresSQL]
; Allow or prevent persistent links.
pgsql.allow_persistent = On
; Detect broken persistent links always with pg_pconnect(). Need a little overhead.
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.
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
fait un .php avec juste phpinfo() dedans et regarde dans la section postgresql voir si c'est actif ou non.
La tu as juste la conf du module dans le cas ou il est actif.
je l ai fait mais ce qu il y a est que je ne vois pas dans quel tableau cette information est indiqué
je vois ou sa se trouve mais apparament il n y a pas la librairie car je viens d essayer de me connecter et j ai obtenu ce message
avec ce code pour me connecterFatal error: Call to undefined function: pg_pconnect() in c:\documents and settings\bureau\avion\conect.php on line 2
et je voulais savoir le pg_connect fonctionne comme le mysql_connect("localhost", "root", "") .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <? $connection = pg_pconnect("dbname=test user=root password='' "); $result = pg_exec($connection, "select * from ville"); for($i=0;$row = @pg_fetch_array($result,$i); $i++) { echo $row["id_ville"]." | ".$row["nom_ville"]; } ?>
Pour connecter a mysql le user etait root c est pareil pour postgre ?
j'ai pas de easyphp sous la main, mais de souvenir, tu as un sous repertoire avec plein de .dll dans le repertoire php. Verifie que tu es une dll de type pgkekechose.
Ensuite, comme le dit kryskool, matte au debut de ton php.ini si tu as pas une commande de type "loadmodule toto.dll", si oui, rajoute la dll correspondante a pg.
elle n apparait qu ici la dll dans le fichier php.ini
???; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_db.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
;extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_printer.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xslt.dll
;extension=php_yaz.dll
;extension=php_zip.dll
Lut melvine
ton extension de ton php.ini est en commentaire, vire le ; du debut, et vérifie quand même que la DLL soit présent dans ton répertoire extension.
maintenant il devrais te trouver les fonction de postgresql, si ce n'est pas le cas, fais un petit restart d'easyPhP.;extension=php_pgsql.dll
KrysKool
j ai supprimer le ;
et j ai reexecuté mon code
mais j ai toujours le meme message d erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <? $connection = pg_pconnect("dbname=test user=root password=''"); $result = pg_exec($connection, "select * from ville"); for($i=0;$row = @pg_fetch_array($result,$i); $i++) { echo $row["id_ville"]." | ".$row["nom_ville"]; } ?>
et dans le fichier php.ini il ne parle de postgresql qu iciFatal error: Call to undefined function: pg_pconnect() in c:\documents and settings\franky\bureau\avion\conect.php on line 2
le fichier php.ini c est bien celui du dossier php et non celui du dossier apache ?[PostgresSQL]
; Allow or prevent persistent links.
pgsql.allow_persistent = On
; Detect broken persistent links always with pg_pconnect(). Need a little overhead.
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.
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
j ai enlever le ; devant la dll dans le fichier php.ini d apache et la j ai tester mais l erreur change
Warning: pg_pconnect(): Unable to connect to PostgreSQL server: fe_sendauth: no password supplied in c:\documents and settings\franky\bureau\avion\conect.php on line 2
Warning: pg_exec(): supplied argument is not a valid PostgreSQL link resource in c:\documents and settings\franky\bureau\avion\conect.php on line 5
Maintenant le module PostgreSQL est bien chargé, mais tu as un problème de droit en accedant a PostgreSQL
PHP / Apache / PostgreSQL sont t'il sur la meme machine ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Warning: pg_pconnect(): Unable to connect to PostgreSQL server: fe_sendauth: no password supplied in c:\documents and settings\franky\bureau\avion\conect.php on line 2 Warning: pg_exec(): supplied argument is not a valid PostgreSQL link resource in c:\documents and settings\franky\bureau\avion\conect.php on line 5
si oui pour y acceder il faudrait que tu modifie dans le pg_hba.conf la ligne:
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part local all all 127.0.0.1 ident sameuser
Puis redemarrer le serveur PostgreSQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part local all all 127.0.0.1 md5
KrysKool
merci
en faite je n ai pas eu à faire les modification souhaiter
ce que j ai est qu au depart j avais rentrer cela pour me connecter
alors qu en le user c est postgres c est celui que je vois dans pgadmin
Code : Sélectionner tout - Visualiser dans une fenêtre à part $connection = pg_pconnect("dbname=test user=root password=''");
et le mot de passe c est celui que j utilise pour me connecter à ma base dans pgadmin.
Et sa fonctionne.
Moi je pensai que je devais mettres root et le mot de passe à vide comme avec mysql.
Bonjour,
je profite de ce sujet pour rebondir et poser ma question:
je suis sous Windows 2000, j'ai installé PostgreSQL 8.0 sans soucis (je sens qu'il va me réconcilier avec les SGBD celui-là :-) ), ensuite Apache 2 toujours sans soucis et enfin PHP 5.
PHP marche bien, mais pas moyen d'avoir accès à PostgreSQL, visiblement le module ne se charge pas, malgré le décommentage de la ligne "extension=php_pgsql.dll" dans php.ini...
J'ai fait appel à la fonction "phpinfo()" comme conseillé, et aucune mention de ce SGBD, à part pour la variable d'environnement "PGLOCALEDIR".
Aurais-je loupé une étape de l'installation/configuration ?
Merci à vous tous pour vos conseils.
Partager