Puede usar el exec()
función para ejecutar un comando externo.
Nota:entre shell_exec() y exec() , elegiría el segundo, que no devuelve la salida al script PHP; no es necesario que el script PHP obtenga todo el volcado de SQL como una cadena:solo necesita que se escriba en un archivo, y esto puede ser hecho por el comando mismo.
Ese comando externo:
- ser una llamada a
mysqldump, con los parámetros correctos, - y redirija la salida a un archivo.
Por ejemplo:
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Lo que significa que su código PHP se vería así:
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Por supuesto, depende de usted usar la información de conexión correcta, reemplazando el ... con esos.