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.