我想從一個簡單的PHP腳本內使用mysqldump命令轉儲數據庫,但輸出文件爲空,在這個腳本中是否有什麼錯?mysqldump從內部php
<?php
$dbhost = 'best.hostname.com';
$dbuser = 'best';
$dbpass = 'pass4best';
$dbname = 'best';
exec('mysqldump --host=$dbhost --user=$dbuser --pass=$dbpass $dbname > best.sql');
?>
輸出文件似乎包含一些值,但沒有什麼打算,它包含:「用法:mysqldump的[選項]數據庫[表] OR的mysqldump [OPTIONS] --databases [OPTIONS] DB1 [ DB2 DB3 ...] 或mysqldump [選項] - 全部數據庫[選項] 有關更多選項,請使用mysqldump --help「 –
您的命令字符串需要雙引號,否則您將不會得到任何可變插值。您正在將字面變量名稱傳遞給該命令。投票結束,因爲印刷錯誤。作爲良好實踐的一部分,您也可以考慮轉義您傳遞給shell的變量參數。 –