dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dolibarr-dev] proposition de patch pour pgsql.lib.php


From: Raphaël Berlamont
Subject: [Dolibarr-dev] proposition de patch pour pgsql.lib.php
Date: Mon, 9 Jul 2012 02:08:41 +0200

Hello,

suite à la lecture de ce thread sur le forum (
http://www.dolibarr.fr/forum/529-bugs-avec-postgresql/31421-mise-a-jour-vers-311
), je confirme ce problème aussi avec une installation fraîche sur une
base postgresql, à savoir que l'installation ne se déroule pas
correctement, indiquant que l'installateur n'a pu se connecter sur la
base «dolibarr» (mais l'étape précédente comme quoi il a pu su
connecter à la base de données est OK).

Pour y remédier, j'ai dû dans un premier temps coller l'ancienne lib
de la 3.1.0, et constater que en effet, comme indiqué sur le wiki, ça
fonctionne.

J'ai regardé un peu la diff entre les deux versions, et après
dicothomie (je ne suis pas développeur), il s'avère que dans la
nouvelle lib, le nom de la base de données ne semble pas être
initialisé après la connexion réussite. Le fichier
«install/etape1.php», ligne 423, vérifiant que le nom de la base a
correctement été initialisé, ce dernier estime qu'il y a un problème
et affiche une erreur. Voici le bout de code à l'origine de message
dans «install/etape1.php» :

=================================
[…]
if ($db->database_selected == 1)
{
      …
}
else
{
      …
      dolibarr_install_syslog("etape1: connexion to database
".$conf->db->name.", by user : ".$conf->db->user." has failed",
LOG_ERR);
      …
}
[…]
=================================

Voici le diff entre la version originale et la version que j'ai
modifié et qui semble fonctionner jusqu'à maintenant :
=================================
--- dolibarr/htdocs/lib/databases/pgsql.lib.php-ori     2012-07-09
01:05:11.000000000 +0200
+++ dolibarr/htdocs/lib/databases/pgsql.lib.php 2012-07-09
01:39:30.123714395 +0200
@@ -374,6 +374,12 @@

                        $con_string = "host='".$host."' port='".$port."'
dbname='".$name."' user='".$login."' password='".$passwd."'";
                        $this->db = pg_connect($con_string);
+                       if ($this->db)
+                       {
+                               $this->database_name = $name;
+                               pg_set_error_verbosity($this->db, 
PGSQL_ERRORS_VERBOSE);        // Set
verbosity to max
+
+                       }
                }
                else
                {
=================================

Bon, encore une fois, je ne suis pas développeur, je raconte donc
peut-être des cracks. Cela dit, sur mon serveur, j'ai tout réinstallé
avec ce patch et ça fonctionne. :)

Bonne journée,
-- 
Raphaël Berlamont



reply via email to

[Prev in Thread] Current Thread [Next in Thread]