我想從數據庫創建一個備份,但我只得到一個空白文件。php exec() - mysqldump創建一個空文件
include('config.php');
$command = "mysqldump --opt -h ".$_host." -u ".$_user." -p ".$_pass." ".$_db." > test.sql";
exec($command);
echo "<br />".$command;
test.sql在.php文件所在的位置創建。
編輯:
注意!我正在使用XAMPP WINDOWS!
解決方案:
因爲我使用的是Windows Web服務器(XAMPP),我需要指定路徑:
$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql';
- 我刪除了-p之間的空間通行證。它看起來像:
-pMYPASSWORD
- 與
'
我認爲,如果你使用的是基於Linux的Web服務器,則不必指定mysqldump的路徑替換"
。
乾杯! :-)
我想你應該刪除-p和密碼之間的空格。 – 2012-08-17 10:46:55
仍然得到一個空白文件。 – 2012-08-17 10:49:55
您是否嘗試過回顯命令(以確保所有變量均按預期方式傳遞)或使用正確的輸入手動測試它?對於-u,你可以有一個空間, – Fluffeh 2012-08-17 10:51:34