8721 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un code pour sauvegarder 1 base de donnée. Le truc, c'est que j'en ai 2 maintenant à sauvegarder, et je rame pour que ça fonctionne.

$_BASE_DE_DONNEES = array(
	'host'				=> 'localhost',							// Nom d'hôte
	'port'				=> '3306',								// Numéro de port
	'user'				=> X',							// Nom d'utilisateur
	'pass'				=> 'X',					// Mot de passe
	'bdd'				=> 'X',						// Nom de la base de donnée
	'socket'			=>  NULL,								// « Socket »
	'charset'			=> 'utf8',								// Codages de caractères
	'collation'			=> 'utf8_general_ci',					// Interclassement
	'data_directory'	=>  NULL,								// Emplacement de la base de donnée
);

$_BASE_DE_DONNEES = array(
	'host'				=> 'localhost',							// Nom d'hôte
	'port'				=> '3306',								// Numéro de port
	'user'				=> 'Y',							// Nom d'utilisateur
	'pass'				=> 'Y',					    // Mot de passe
	'bdd'				=> 'Y',						// Nom de la base de donnée
	'socket'			=>  NULL,								// « Socket »
	'charset'			=> 'utf8',								// Codages de caractères
	'collation'			=> 'utf8_general_ci',					// Interclassement
	'data_directory'	=>  NULL,					            // Emplacement de la base de donnée
);


J'ai bien le backup de Y mais pas de X. Ce qui est normal vue que Php, tient compte du dernier ordre.

A mon avis on peut indiquer de sauvegarder 2 bdd à la suite. Source du code : https://github.com/benyounesmehdi/MBackuper

Merci de vos lumières.
Modifié par Tintin75 (13 Apr 2017 - 17:11)
salut,

tu écrases ta variable la Smiley smile

a priori le script n'est pas prévu pour fonctionner sur plusieurs bases (si c'était le cas il te proposerait un tableau de tableau, il te faudrait donc utiliser plusieurs fois ce code.

c'est un bon moyen de progresser que de proposer cette option au mainteneur du projet Smiley cligne

@+
Merci, pour ta réponse. C'est bien ce qui me semblait, j'écrase bien ma variable.

Bon, il faut que je trouve une combine pour que j'arrive à faire un backup sur 2 tables.

Merci encore. Smiley cligne
Bonjour,

J'ai ça comme code :

if($_SERVER['HTTP_HOST']==='www.mbackuper.dev'){
	require_once(REALPATH.'config_localhost.inc.php');
}else{
	require_once(REALPATH.'config.inc.php');
}


Si je rajoute un configbis.inc.php en plus, normalement ça devrait me faire le backup de ma deuxième base de donnée vue que la configuration se trouve dans ce fichier ?

Genre :

if($_SERVER['HTTP_HOST']==='www.mbackuper.dev'){
	require_once(REALPATH.'config_localhost.inc.php');
}else{
	require_once(REALPATH.'config.inc.php');
        require_once(REALPATH.'configbis.inc.php');

}


Le code de la bdd se trouve dans config.inc.php

Merci de vos retours Smiley smile
Modifié par Tintin75 (12 Apr 2017 - 11:07)
Tu as fais les modifications à qu'elle niveau, s'il te plait ?

Je suis pas un pro de Github.
Modifié par Tintin75 (12 Apr 2017 - 11:41)
Merci, le rouge et le vert, en fond, c'est les modifications ?

J'ai pigé Smiley cligne
Modifié par Tintin75 (12 Apr 2017 - 13:40)
Pour résumer, pour que mon backup fonctionne avec 2 bases de données, je dois modifier combien de fichier ?

+exemple pour deux bases
+```php
+$_BASE_DE_DONNEES = [
+    // Dupliquer le tableau si dessous pour sauvegarder plusieurs base de données
+    [
+        'name' => 'db1',
+        'host' => 'localhost',                           // Nom d'hôte
+        'port' => '3306',                                // Numéro de port
+        'user' => 'root',                                // Nom d'utilisateur
+        'pass' => '',                                    // Mot de passe
+        'bdd' => 'test',                                 // Nom de la base de donnée
+        'socket' => NULL,                                // « Socket »
+        'charset' => 'utf8',                             // Codages de caractères
+        'collation' => 'utf8_general_ci',                // Interclassement
+        'data_directory' => '/tmp/save'                  // Emplacement de la base de donnée
+    ], [
+        'name' => 'db2',
+        'host' => 'localhost',                           // Nom d'hôte
+        'port' => '3306',                                // Numéro de port
+        'user' => 'root',                                // Nom d'utilisateur
+        'pass' => '',                                    // Mot de passe
+        'bdd' => 'autre',                                 // Nom de la base de donnée
+        'socket' => NULL,                                // « Socket »
+        'charset' => 'utf8',                             // Codages de caractères
+        'collation' => 'utf8_general_ci',                // Interclassement
+        'data_directory' => '/tmp/save'                  // Emplacement de la base de donnée
+    ]
+];


Là, je pige. Sauf, que j'ai une message "Une erreur s'est produite lors de la connexion aux bases de données" et "Erreur fichier config.inc.php"
Modifié par Tintin75 (12 Apr 2017 - 14:19)
Retour test du code, db1 passe, mais pas db2, aucun message d'erreur. Smiley fache

Version du code Github, ta nouvelle version Smiley smile

J'ai comme l'impression que le code, ne prend pas en compte ma 2ème bdd ...

Smiley bawling
Modifié par Tintin75 (13 Apr 2017 - 09:10)