8791 sujets

Développement web côté serveur, CMS

Modérateur
Salut tout le monde,

Je cherche à faire prochainement une petite class afin de sauvegarder la base Mysql. Je sais qu'il y a quelques solutions notamment avec l'utilitaire mysqldump.exe livré avec Mysql. Mon soucis, je n'arrive pas à le faire fonctionner correctement et est ce qu'avec les fonction shell_exec ou popen (Je ne connais pas vraiment bien ces fonctions), on peut faire ce genre de choses.

Pouvez-vous me donnez quelques pistes à exploiter, je vous en remercie par avance.

++
hello,

J'avais fait il y a quelques temps de ça, un script qui générait une conversion de vidéo avec ffmpeg, pour faire ça j'avais utilisé passthru().
J'ai reproduit une simple sauvegarde avec mysql sous une machine unix, ça va peut être t'aider :


passthru('mysqldump -u login -ppass database > database.sql', $error);
// on peut tester le code de statut de $error


Cet exemple fonctionne chez moi, si tu es dans un environnement windows, il faudra inclure le dossier bin/ de mysql dans la variable PATH.

Par ailleurs, je t'invite à regarder tout ce qui concerne la sécurité avec cette fonction, notamment teste si le safe_mode est activé ou non. S'il n'est pas activé (et il ne sera plus activé dans PHP6) tu devras faire l'échappement de ta commande manuellement avec escapeshellcmd().