diff --git a/build/exe/doliwamp/doliwamp2.4.iss b/build/exe/doliwamp/doliwamp2.4.iss
index 55f485ec1bf..937b4324799 100644
--- a/build/exe/doliwamp/doliwamp2.4.iss
+++ b/build/exe/doliwamp/doliwamp2.4.iss
@@ -400,6 +400,7 @@ if not FileExists (destFile) then
begin
LoadStringFromFile (srcFile, srcContents);
+ StringChange (srcContents, 'WAMPROOT', pathWithSlashes);
StringChange (srcContents, 'WAMPMYSQLPORT', mysqlPort);
StringChange (srcContents, 'WAMPMYSQLNEWPASSWORD', newPassword);
diff --git a/build/exe/doliwamp/install.forced.php.install b/build/exe/doliwamp/install.forced.php.install
index cca576eab6c..f4e4df1e89c 100644
--- a/build/exe/doliwamp/install.forced.php.install
+++ b/build/exe/doliwamp/install.forced.php.install
@@ -1,4 +1,5 @@
connected." database_selected=".$db->database_selected, LOG_DEBUG);
diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php
index 6bb840240da..54586d7adb6 100644
--- a/htdocs/install/etape1.php
+++ b/htdocs/install/etape1.php
@@ -276,7 +276,7 @@ if ($_POST["action"] == "set")
{
dolibarr_install_syslog("etape1: Creation de l'utilisateur: ".$dolibarr_main_db_user);
- //print $conf->db->host." , ".$conf->db->name." , ".$conf->db->user." , ".$conf->db->pass;
+ //print $conf->db->host." , ".$conf->db->name." , ".$conf->db->user." , ".$conf->db->pass." , ".$conf->db->port;
$databasefortest=$conf->db->name;
if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
{
@@ -430,7 +430,7 @@ if ($_POST["action"] == "set")
dolibarr_install_syslog("etape1: connexion de type=".$conf->db->type." sur host=".$conf->db->host." port=".$conf->db->port." user=".$conf->db->user." name=".$conf->db->name);
//print "connexion de type=".$conf->db->type." sur host=".$conf->db->host." port=".$conf->db->port." user=".$conf->db->user." name=".$conf->db->name;
- $db = new DoliDb($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name);
+ $db = new DoliDb($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name,$conf->db->port);
if ($db->connected == 1)
{
diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php
index 24dca56bb14..17049f77eb3 100644
--- a/htdocs/install/fileconf.php
+++ b/htdocs/install/fileconf.php
@@ -109,11 +109,18 @@ print $langs->trans("Examples").": ";
trans("DocumentsDirectory"); ?>
diff --git a/htdocs/lib/databases/mssql.lib.php b/htdocs/lib/databases/mssql.lib.php
index 9a5f925005e..b0d6a70f650 100644
--- a/htdocs/lib/databases/mssql.lib.php
+++ b/htdocs/lib/databases/mssql.lib.php
@@ -122,7 +122,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error="Mssql PHP functions for using MSSql driver are not available in this version of PHP";
- dolibarr_syslog("DoliDB::DoliDB : MSsql PHP functions for using MSsql driver are not available in this version of PHP");
+ dolibarr_syslog("DoliDB::DoliDB : MSsql PHP functions for using MSsql driver are not available in this version of PHP",LOG_ERR);
return $this->ok;
}
@@ -131,7 +131,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error=$langs->trans("ErrorWrongHostParameter");
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters");
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters",LOG_ERR);
return $this->ok;
}
@@ -149,7 +149,8 @@ class DoliDb
// host, login ou password incorrect
$this->connected = 0;
$this->ok = 0;
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect mssql_get_last_message=".mssql_get_last_message());
+ $this->error=mssql_get_last_message();
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect mssql_get_last_message=".$this->error,LOG_ERR);
}
// Si connexion serveur ok et si connexion base demandée, on essaie connexion base
@@ -167,7 +168,7 @@ class DoliDb
$this->database_name = '';
$this->ok = 0;
$this->error=$this->error();
- dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db");
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db ".$this->error,LOG_ERR);
}
}
else
diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php
index a034edfff8e..fb722987277 100644
--- a/htdocs/lib/databases/mysql.lib.php
+++ b/htdocs/lib/databases/mysql.lib.php
@@ -142,7 +142,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error="Mysql PHP functions for using MySql driver are not available in this version of PHP";
- dolibarr_syslog("DoliDB::DoliDB : Mysql PHP functions for using Mysql driver are not available in this version of PHP");
+ dolibarr_syslog("DoliDB::DoliDB : Mysql PHP functions for using Mysql driver are not available in this version of PHP",LOG_ERR);
return $this->ok;
}
@@ -151,7 +151,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error=$langs->trans("ErrorWrongHostParameter");
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters");
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters",LOG_ERR);
return $this->ok;
}
@@ -168,7 +168,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error=mysql_error();
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect mysql_error=".mysql_error());
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect mysql_error=".$this->error,LOG_ERR);
}
// Si connexion serveur ok et si connexion base demandée, on essaie connexion base
@@ -194,7 +194,7 @@ class DoliDb
$this->database_name = '';
$this->ok = 0;
$this->error=$this->error();
- dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db");
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db ".$this->error,LOG_ERR);
}
}
else
@@ -220,7 +220,7 @@ class DoliDb
/**
\brief Connection vers le serveur
\param host addresse de la base de données
- \param login nom de l'utilisateur autoris
+ \param login nom de l'utilisateur autorisé
\param passwd mot de passe
\param name nom de la database (ne sert pas sous mysql, sert sous pgsql)
\param port Port of database server
@@ -230,8 +230,11 @@ class DoliDb
function connect($host, $login, $passwd, $name, $port=0)
{
dolibarr_syslog("DoliDB::connect host=$host, port=$port, login=$login, passwd=--hidden--, name=$name");
+
+ // With mysql, port must be in hostname
$newhost=$host;
if ($port) $newhost.=':'.$port;
+
$this->db = @mysql_connect($newhost, $login, $passwd);
//force les enregistrement en latin1 si la base est en utf8 par défaut
// Supprimé car plante sur mon PHP-Mysql. De plus, la base est forcement en latin1 avec
diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php
index 28361e7f866..12a834c7ab3 100644
--- a/htdocs/lib/databases/mysqli.lib.php
+++ b/htdocs/lib/databases/mysqli.lib.php
@@ -143,7 +143,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error="Mysqli PHP functions are not available in this version of PHP. Try to use another driver.";
- dolibarr_syslog("DoliDB::DoliDB : Mysql PHP functions are not available in this version of PHP. Try to use another driver.");
+ dolibarr_syslog("DoliDB::DoliDB : Mysql PHP functions are not available in this version of PHP. Try to use another driver.",LOG_ERR);
return $this->ok;
}
@@ -152,12 +152,12 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error=$langs->trans("ErrorWrongHostParameter");
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters");
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters",LOG_ERR);
return $this->ok;
}
// Essai connexion serveur
- $this->db = $this->connect($host, $user, $pass, $name, $port);
+ $this->db = $this->connect($host, $user, $pass, '', $port);
if ($this->db)
{
@@ -169,8 +169,8 @@ class DoliDb
// host, login ou password incorrect
$this->connected = 0;
$this->ok = 0;
- $this->error=mysql_error();
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect mysql_error=".mysql_error());
+ $this->error=mysqli_connect_error();
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect mysqli_connect_error=".$this->error,LOG_ERR);
}
// Si connexion serveur ok et si connexion base demandée, on essaie connexion base
@@ -222,7 +222,7 @@ class DoliDb
/**
\brief Connection vers le serveur
\param host addresse de la base de données
- \param login nom de l'utilisateur autoris
+ \param login nom de l'utilisateur autorisé
\param passwd mot de passe
\param name nom de la database (ne sert pas sous mysql, sert sous pgsql)
\param port Port of database server
@@ -232,9 +232,12 @@ class DoliDb
function connect($host, $login, $passwd, $name, $port=0)
{
dolibarr_syslog("DoliDB::connect host=$host, port=$port, login=$login, passwd=--hidden--, name=$name");
- $newhost=$host;
- if ($port) $newhost.=':'.$port;
- $this->db = @mysqli_connect($newhost, $login, $passwd);
+
+ // With mysqli, port must be in connect parameters
+ $newport=$port;
+ if (! $newport) $newport=3306;
+
+ $this->db = @mysqli_connect($newhost, $login, $passwd, $name, $newport);
//force les enregistrement en latin1 si la base est en utf8 par défaut
// Supprimé car plante sur mon PHP-Mysql. De plus, la base est forcement en latin1 avec
// les nouvelles version de Dolibarr car forcé par l'install Dolibarr.
diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php
index c8b0409284c..abf01f5d81a 100644
--- a/htdocs/lib/databases/pgsql.lib.php
+++ b/htdocs/lib/databases/pgsql.lib.php
@@ -97,7 +97,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error="Pgsql PHP functions are not available in this version of PHP";
- dolibarr_syslog("DoliDB::DoliDB : Pgsql PHP functions are not available in this version of PHP");
+ dolibarr_syslog("DoliDB::DoliDB : Pgsql PHP functions are not available in this version of PHP",LOG_ERR);
return $this->ok;
}
@@ -106,7 +106,7 @@ class DoliDb
$this->connected = 0;
$this->ok = 0;
$this->error=$langs->trans("ErrorWrongHostParameter");
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters");
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect, wrong host parameters",LOG_ERR);
return $this->ok;
}
@@ -123,7 +123,8 @@ class DoliDb
// host, login ou password incorrect
$this->connected = 0;
$this->ok = 0;
- dolibarr_syslog("DoliDB::DoliDB : Erreur Connect");
+ $this->error='Host, login or password incorrect';
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect ".$this->error,LOG_ERR);
}
// Si connexion serveur ok et si connexion base demandée, on essaie connexion base
@@ -141,7 +142,7 @@ class DoliDb
$this->database_name = '';
$this->ok = 0;
$this->error=$this->error();
- dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db");
+ dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db ".$this->error,LOG_ERR);
}
}
else