Bạn có thể sử dụng exec()
hàm để thực thi một lệnh bên ngoài.
Lưu ý:giữa shell_exec()
và exec()
, Tôi sẽ chọn cái thứ hai, không trả về kết quả đầu ra cho tập lệnh PHP - không cần tập lệnh PHP để lấy toàn bộ kết xuất SQL dưới dạng một chuỗi:bạn chỉ cần nó được ghi vào một tệp và điều này có thể được thực hiện bởi chính lệnh.
Lệnh bên ngoài đó sẽ:
- là một cuộc gọi đến
mysqldump
, với các thông số phù hợp, - và chuyển hướng đầu ra đến một tệp.
Ví dụ:
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
Có nghĩa là mã PHP của bạn sẽ giống như sau:
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Tất nhiên, tùy thuộc vào bạn để sử dụng thông tin kết nối phù hợp, thay thế cho ...
với những.