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.