WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
Problème d'install et / ou d'accès à PostgreSQL
Envoyé par: PAL (194.250.185.---)
Date: 23 April 2020 à 15:15

Bonjour,

1 - Version de Windows 10 pro 64
- 2 - Version de Wampserver version 3.1.7 - 64bit
- 3 - Version Apache 2.4.37
- 4 - Version PHP 7.2.14
- 5 - Version MySQL 5.7.24
- 5a - Version MariaDB 10.3.12
- 5b - Version phppgadmin 5.6
- 5c - Version PostgreSQL 10.6
- 6 à 12 - tout est OK sous firefox

je ne suis pas du tout un expert sur le sujet mais ayant à gérer certains trucs dans ma boite, j'essaye de me débrouiller. Wampserver fonctionne très bien, j'ai mon site web en localhost pour test et ça fonctionne. Par contre, j'ai une base de données PostgreSQL liée à une interface web de saisie que j'aimerais avoir en localhost pour tester une grosse MaJ avant la mise en prod mais : je n'arrive pas à accéder à ma base PostgreSQL (en localhost) via phppgAdmin.

Niveau de l'installation, j'ai bidouillé comme j'ai pu en suivant ce tuto [forums.phpbb-fr.com]
Et j'ai encore plus bidouillé mon index.php car les instructions du tuto ne correspondait plus à ce que je voyais dans mon fichier, j'ai donc tenté de remplacer à l'arrache avec l'ajout de ces quelques lignes à la suite de celles appelant MySQL :

$mysqlVersion = $wampConf['mysqlVersion'];
$postgresqlVersion = $wampConf['postgresqlVersion'];/

----------------------------

$Mysqlport = $wampConf['mysqlPortUsed'];
$postgresqlport = $wampConf['postgresqlPortUsed'];

---------------------------------------
// Récupération postgreSQL si supporté
$postgresql = '';
if(isset($wampConf['Supportpostgresql']) && $wampConf['Supportpostgresql'] =='on') {
$defaultDBMSpostgresql = ($wampConf['postgresqlPortUsed'] == '5432') ? ' - Default DBMS' : '';
$ADODB = <<< EOF
<dt>{$langues['verspg']}</dt>
<dd>${postgresqlVersion}&nbsp;-&nbsp;{$langues['postgresqlportUsed']}{$postgresqlport}{$defaultDBMSpostgresql}&nbsp;-&nbsp; <a href='http://{$langues['docm']}'>{$langues['documentation']}</a></dd>
EOF;
}

----------------------------------------
$phpmyadminTool = $noDBMS ? '' : '<li><a href="phpmyadmin/">phpmyadmin</a></li>';
$phppgadminTool = $noDBMS ? '' : '<li><a href="phppgadmin/">phppgadmin</a></li>';



Je pourrais c/c d'autres modifs sur d'autres fichiers si besoin...


Lorsque j'essaye de me connecter à ma base PostgreSQL dans phppgAdmin, il me renvoie ça : avec échec de la connexion

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in C:\wamp64\apps\phppgadmin5.6\libraries\adodb\adodb-error.inc.php on line 106
Call Stack
# Time Memory Function Location
1 0.0001 406312 {main}( ) ...\redirect.php:0
2 0.0001 406976 include_once( 'C:\wamp64\apps\phppgadmin5.6\libraries\lib.inc.php' ) ...\redirect.php:7
3 0.0010 620832 Misc->getDatabaseAccessor( ) ...\lib.inc.php:248
4 0.0010 620960 Connection->Connection( ) ...\Misc.php:486
5 0.0012 681416 ADODB_postgres7->Connect( ) ...\Connection.php:42
6 0.0291 681416 ADODB_postgres7->ErrorNo( ) ...\adodb.inc.php:536
7 0.0291 681416 ADODB_postgres7->MetaError( ) ...\adodb-postgres64.inc.php:830
8 0.0292 682920 adodb_error( ) ...\adodb.inc.php:1193
9 0.0292 682920 adodb_error_pg( ) ...\adodb-error.inc.php:77
10 0.0292 683696 each ( ) ...\adodb-error.inc.php:106



Si quelqu'un à une idée sur ce que j'ai mal fait ou mal config, je suis preneur !

Options: Répondre•Citer ce Message
Re: Problème d'install et / ou d'accès à PostgreSQL
Envoyé par: Otomatic (Modérateur)
Date: 23 April 2020 à 17:10

Bonjour,

Installer un gestionnaire de base de données supplémentaire dans Wampserver n'est pas aussi simple que le tuto peut le laisser croire. Le tuto part de Wampserver 2.0, obsolète et avec des versions Apache (2.2.11) et PHP (5.3.0) elles aussi obsolètes (On en est à Apache 2.4.43 et PHP 7.4.5) et donc, il est tout à fait normal que vous ne trouviez pas les mêmes lignes que celles du tuto.
C'est tout le problème de la foultitude de tuto qui ne sont jamais mis à jour.

Pour vous donnez un ordre de grandeur, pour intégrer MariaDB en plus de MySQL pour Wampserver 3.0.8, j'ai dû y passer environ deux semaines — pas à temps plein certes.

Vous n'avez absolument pas besoin de “bidouiller” index.php. L'alias phppgadmin doit apparaître dans la page d'accueil Wampserver 'http://localhost/'. Les “bidouilles” que vous voulez faire ne servent qu'à l'affichage dans la page des logiciels et de leurs versions. Vous pouvez très bien le lancer par l'alias même si PostgreSQL n'est pas affiché dans la page en tant que tel.

Par rapport au tuto :

- L'alias doit être similaire à celui de PhpMyAdmin (phpmyadmin.conf), donc pas avec de Deny, Allow

- Pas de PATH pour les extensions PHP, jamais.
Apache comprend la directive :
PHPIniDir "${APACHE_DIR}/bin"
qui indique que toutes les librairies php nécessaires ainsi que php.ini sont dans :
c:/wamp64/bin/apache/apache2.4.xx/bin/
d'ailleurs, je viens de faire l'essai avec PHP 7.4.5 et la validation de l'extension pgsql et il n'y a aucune erreur... mais, Wampserver a évolué depuis 2.0 et en principe toutes les librairies nécessaires sont automatiquement mises dans le dossier susmentionné.

- Avertissement : Deprecated: The each() function is deprecated.
Cette fonction est OBSOLÈTE à partir de PHP 7.2.0. Voir Fonction each

Faites vos essais avec une version PHP < 7.2.0

Ajout à 17h 10
Tout ce qui concerne PostgreSQL et PHP se trouve ici PHP book pgsql

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons



Modifie 1 fois. Derniere modification le 23/04/2020 à 17:33 par Otomatic.

Options: Répondre•Citer ce Message
Re: Problème d'install et / ou d'accès à PostgreSQL
Envoyé par: PAL (194.250.185.---)
Date: 23 April 2020 à 18:35

Bonjour,

merci pour votre retour super rapide !

En effet, mon alias phppgadmin apparait bien et ça me suffit. Je ne savais pas que toutes les autres bidouilles étaient juste de l'affichage...

Par rapport à vos conseils, j'ai supprimé tous les Deny et Allow de mon phppgadmin.conf

Je suis allé dans tous les php.ini (d'apache et de chaque version de php) pour décommenter la ligne pgsql (je l'avais fait via wamp sur la version 7.2.14).

J'avais modifié la variable PATH il y a longtemps puis remis à l'initial et pas touché depuis donc OK

Je ne comprends pas trop ce qu'implique une fonction dépréciée, j'ai testé avec toutes les versions dispo sur mon wampserver (5.6.40 ; 7.0.33 ; 7.1.26 ; 7.2.14 et même 7.3.1 pour tester) et elles m'affichent toutes le genre de message ci-dessous avec plus ou moins d'erreur, sauf avec la version 5.6.40 --> elle m'affiche bien mon phppgadmin mais indique 'Echec de la connexion' quelque soit mon utilisateur...

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Decorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 92

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; FieldDecorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 103

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ArrayMergeDecorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 115

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ConcatDecorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 130

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; CallbackDecorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 145

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; IfEmptyDecorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 157

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; UrlDecorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 174

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; replaceDecorator has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\libraries\decorator.inc.php on line 200

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Misc has a deprecated constructor in C:\wamp64\apps\phppgadmin5.6\classes\Misc.php on line 8
Vous n'avez pas compilé correctement le support de la base de données dans votre installation de PHP.


Ces messages font quasi tous référence à decorator.inc.php mais je ne vois pas réellement quel est le souci.
Si ça fonctionne avec la version 5.6.40, pourquoi pas mais il semblerait que j'ai mal configuré la connexion à la BdD postgreSQL dans ce cas...

Connaissez-vous de bon tuto A JOUR pour réaliser le lien entre wamp et postgre car les 3 françaises que je trouve sont toutes obsolètes et je ne connais pas les sites anglais pour trouver ce type d'explication ? (ou en tant que grand manitou/modo, vous en avez réalisé une vous-même ??? smiling smiley )

Options: Répondre•Citer ce Message
Re: Problème d'install et / ou d'accès à PostgreSQL
Envoyé par: Otomatic (Modérateur)
Date: 23 April 2020 à 19:14

Bonjour,

> Par rapport à vos conseils, j'ai supprimé tous les Deny et Allow de mon phppgadmin.conf
En mettant un Require local à la place !!! Similaire à ce qu'est l'alias phpmyadmin.conf

> Ces messages font quasi tous référence à decorator.inc.php mais je ne vois pas réellement quel est le souci.
> Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP
C'est un avertissement, mais c'est facile (presque) à corriger.
Dans le fichier decorator.inc, il y a une ou plusieurs déclaration de “class” et la fonction de “construction” de cette class a le même nom que celui de la class et ceci est obsolète.
Exemple :
class ModeliXe extends ErrorManager{
....
....
    //Constructeur de ModeliXe
    function ModeliXe ($template, $session......
La fonction de construction de la class a le même nom que la class et c'est pas bien !
À remplacer par :
class ModeliXe extends ErrorManager{
....
....
    //Constructeur de ModeliXe
    function __construct ($template, $session......
Attention : deux tirets bas __ devant construct.
Si, comme dans l'exemple, il y a extends quelquechose, il faut aussi commenter
//$this -> quelquechose();
et ajouter après function __construct(....
parent::__construct();

Je ne connais pas de tuto, n'ayant jamais eu besoin de postgreSQL.
« en tant que grand manitou/modo » je fais évoluer Wampserver, en premier lieu pour mes propres besoins.

Allez voir la doc PHP dont je vous ai donné le lien précédemment, en plus, c'est en français, il y a beaucoup d'exemple. Et commencez par des petits scripts d'essais pour les connexions. Vous les mettez dans wamp64/www/test/ et vous pourrez les lancer par 'http://localhost/test/monscript.php'

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons

Options: Répondre•Citer ce Message
Re: Problème d'install et / ou d'accès à PostgreSQL
Envoyé par: PAL (---.146.204.77.rev.sfr.net)
Date: 24 April 2020 à 10:46

Bonjour,

merci pour votre retour, sans trop faire exprès, j'avais laissé le 'Require local' donc ça fonctionnait toujours.


Pour tous les messages Deprecated, ne connaissant pas le langage PHP, je préfère ne pas me lancer dans cette bataille, je ne suis pas sûr de la gagner...

Comme ça semblait fonctionner en PHP 5.6, j'ai surtout essayé de comprendre pourquoi phppgadmin m'annonçait 'Echec de la connexion'. En allant voir le FAQ du site ( [phppgadmin.sourceforge.net] ) à la question 3, il propose d'aller voir dans le log de PostgreSQL pour trouver une explication et ça m'annonçait : la base de données « postgre » n'existe pas

Après quelques recherches, il s'agissait d'une faute de frappe de ma part dans le config.inc de phppgadmin...

Le problème est donc résolu...en attendant le prochain...

Merci pour vos conseils qui m'ont permis de bien reconfigurer certains fichiers sur lesquels j'étais passé un peu vite et surtout de tester avec une version de php inférieur (espérant que ça ne soit pas bloquant pour mes manips à venir)

Bonne continuation

Options: Répondre•Citer ce Message
Re: Problème d'install et / ou d'accès à PostgreSQL
Envoyé par: PAL (194.250.185.---)
Date: 27 April 2020 à 17:56

Re,

pour d'autres qui auraient le même problème (ou pour moi si je dois refaire la manip et que j'oublie des détails smiling smiley ) :

la bonne version de phppgadmin est à récup ici : [github.com]

La version 5.6 dispo sur ce site [phppgadmin.sourceforge.net] est obsolète

Options: Répondre•Citer ce Message


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP