Du kan använda exec()
funktion för att utföra ett externt kommando.
Obs:mellan shell_exec()
och exec()
, skulle jag välja den andra, som inte returnerar utdata till PHP-skriptet -- inget behov av PHP-skriptet för att få hela SQL-dumpen som en sträng :du behöver bara skriva det till en fil, och detta kan vara görs av själva kommandot.
Det externa kommandot kommer:
- vara ett samtal till
mysqldump
, med rätt parametrar, - och omdirigera utdata till en fil.
Till exempel:
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Vilket betyder att din PHP-kod skulle se ut så här:
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Naturligtvis är det upp till dig att använda rätt anslutningsinformation, som ersätter ...
med dem.