Last active
August 29, 2015 14:18
-
-
Save ChristopheBoucaut/f47d22a914e36f308d09 to your computer and use it in GitHub Desktop.
Mettre en place un système de serveur maître et esclaves sous Prestashop
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Rev 0.01 du 2013/04/03 : | |
* - Correctif du bug lors de l'ajout de produits | |
* - Passage de la variable $ajout_server_ok en variable static | |
**/ | |
abstract class Db extends DbCore | |
{ | |
/** | |
* Via cette variable, on va éviter d'ajouter plusieurs fois le serveur esclave | |
* @var: bool $ajout_server_ok | |
**/ | |
private static $ajout_server_ok = false; | |
/** | |
* On redéfinit la méthode __construct() du parent pour lui ajouter les serveurs | |
* @param string $server Server address | |
* @param string $user User login | |
* @param string $password User password | |
* @param string $database Database name | |
* @param bool $connect If false, don't connect in constructor (since 1.5.0) | |
*/ | |
public function __construct($server, $user, $password, $database, $connect = true) | |
{ | |
// Si jamais l'ajout du serveur esclave n'a pas encore été fait | |
if(! self::$ajout_server_ok){ | |
// on ajoute le serveur esclave à la liste des serveurs | |
parent::$_servers[] = array('server' => _DB_SERVER_SLAVE_, | |
'user' => _DB_USER_, | |
'password' => _DB_PASSWD_, | |
'database' => _DB_NAME_); /* MySQL Slave server */ | |
// On modifie la variable pour éviter de refaire l'ajout du serveur esclave | |
self::$ajout_server_ok = true; | |
} | |
// On lance le constructeur par défaut pour que tout fonctionne bien :p | |
parent::__construct($server, $user, $password, $database, $connect); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Cette constante permet d'activer l'utilisation des serveurs maître/esclaves | |
define('_PS_USE_SQL_SLAVE_', 1); | |
// On définit l'adresse du serveur esclave | |
define('_DB_SERVER_SLAVE_', 'adresse-serveur-esclave'); | |
// On définit l'adresse du serveur maître | |
define('_DB_SERVER_', 'adresse-serveur-maitre'); | |
// On définit les identifiants pour les BD maître et esclaves (identifiants identiques) | |
define('_DB_NAME_', 'nom_bd'); | |
define('_DB_USER_', 'identifiant_bd'); | |
define('_DB_PASSWD_', 'mdp_bd'); | |
// le reste du code ne nous concerne pas |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment