Можете да използвате exec()
функция за изпълнение на външна команда.
Забележка:между shell_exec()
и exec()
, аз бих избрал втория, който не връща изхода към PHP скрипта - няма нужда PHP скриптът да получи целия SQL дъмп като низ:трябва само той да бъде записан във файл и това може да бъде извършено от самата команда.
Тази външна команда ще:
- бъдете извикване към
mysqldump
, с правилните параметри, - и пренасочете изхода към файл.
Например:
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Което означава, че вашият PHP код ще изглежда така:
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Разбира се, от вас зависи да използвате правилната информация за връзката, като замените ...
с тези.