Puoi utilizzare exec()
funzione per eseguire un comando esterno.
Nota:tra shell_exec() e exec() , sceglierei il secondo, che non restituisce l'output allo script PHP - non è necessario che lo script PHP ottenga l'intero dump SQL come stringa:è necessario solo scriverlo su un file e questo può essere fatto dal comando stesso.
Quel comando esterno :
- essere una chiamata a
mysqldump, con i parametri giusti, - e reindirizza l'output a un file.
Ad esempio :
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Il che significa che il tuo codice PHP sarebbe simile a questo :
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Ovviamente, sta a te utilizzare le informazioni di connessione corrette, sostituendo il ... con quelli.