Możesz użyć exec()
funkcja do wykonania polecenia zewnętrznego.
Uwaga:między shell_exec()
i exec()
wybrałbym ten drugi, który nie zwraca wyjścia do skryptu PHP - nie ma potrzeby, aby skrypt PHP pobierał cały zrzut SQL jako string :wystarczy go zapisać do pliku, a to może być wykonywane przez samo polecenie.
To polecenie zewnętrzne:
- być wezwaniem do
mysqldump
, z odpowiednimi parametrami, - i przekieruj wyjście do pliku.
Na przykład :
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Co oznacza, że Twój kod PHP będzie wyglądał tak:
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Oczywiście do Ciebie należy użycie właściwych informacji o połączeniu, zastępując ...
z nimi.