Du kan bruge exec()
funktion til at udføre en ekstern kommando.
Bemærk:mellem shell_exec()
og exec()
, ville jeg vælge den anden, som ikke returnerer output til PHP-scriptet -- intet behov for PHP-scriptet for at få hele SQL-dumpet som en streng :du skal kun have det skrevet til en fil, og dette kan udføres af selve kommandoen.
Denne eksterne kommando vil:
- være et kald til
mysqldump
, med de rigtige parametre, - og omdiriger outputtet til en fil.
For eksempel :
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Hvilket betyder, at din PHP-kode ser sådan ud :
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Det er selvfølgelig op til dig at bruge de rigtige forbindelsesoplysninger, der erstatter ...
med dem.