[英]Mysqldump return empty file .sql
我試圖以這種方式轉儲我的數據庫:
$output = NULL; $command = 'mysqldump -u $dbuser -h localhost -p$password $dbname > dump.sql'; passthru($command, $output);
我也嘗試過這種方式:
$command = 'mysqldump -u $dbuser -h localhost -p$password $dbname > dump.sql';
exec($command);
兩種方式都創建一個空的dump.sql
我哪里錯了? 你能幫助我嗎?
我建議您在使用mysqldump時使用--single-transaction標志。
mysqldump --single-transaction -u$dbuser -hlocalhost -p$password $dbname > dump.sql
話雖如此,我會懷疑是超時(PHP或MySQL)還是內存不足錯誤。
您是如何執行腳本的? 瀏覽器還是CLI?
我不能確切地說,但是如果您使用單引號,則不會用實際值替換php變量。 您應該使用雙引號而不是單引號。
像$ command =“ mysqldump -u $ dbuser -h localhost -p $ password $ dbname> dump.sql”;
在執行之前嘗試打印命令,以確保將值替換為變量。
讓我知道這是否行不通,將為您提供更准確地調試的選項。
請在下面嘗試,讓我知道輸出。
$command = "mysqldump -u $dbuser -h localhost -p$password $dbname > dump.sql 2>&1";
exec($command, $output);
echo '<pre>';print_r($output);exit;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.