Vous pouvez utiliser exec()
fonction pour exécuter une commande externe.
Remarque :entre shell_exec()
et exec()
, je choisirais le second, qui ne renvoie pas la sortie au script PHP - pas besoin que le script PHP récupère le vidage SQL complet sous forme de chaîne :vous n'avez besoin que de l'écrire dans un fichier, et cela peut être fait par la commande elle-même.
Cette commande externe :
- être un appel à
mysqldump
, avec les bons paramètres, - et rediriger la sortie vers un fichier.
Par exemple :
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Ce qui signifie que votre code PHP ressemblerait à ceci :
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Bien entendu, à vous d'utiliser les bonnes informations de connexion en remplaçant le ...
avec ceux-là.