[英]PHP - mysqldump doesnt work
我正在嘗試執行
exec('mysqldump -u user -pPASSWORD db1 tbl1 > /etc/table1.sql' ,$output, $return_var);
而且我也嘗試過
exec('mysqldump -u user -pPASSWORD db1 tbl1 > /etc/table1.sql');
但是$ output為空 ,並且$ return_var為2
我在文件/ etc / sudoers中具有更改apache用戶的權限
#User privilege specification
www-data ALL=(ALL:ALL) NOPASSWD:ALL
另外以下命令正在cmd上運行
mysqldump -u user -pPASSWORD db1 tbl1 > /etc/table1.sql
有人能幫我嗎?
我寧願將此作為評論而不是答案發布,但我建議使用popen
因為它可能會提供更多有用的信息,說明您的命令失敗的原因。
全功能簽名:
popen (string $command, string $mode)
它的工作方式類似於fopen
,包括模式。 在您的情況下,您可能需要使用'r'
作為您的模式。 該函數返回像一個手柄fopen
會做,這樣你就可以fread
它的數據。 不要忘了pclose
漢德大功告成了!
要捕獲任何錯誤輸出(即使命令失敗,函數也會返回句柄),請在命令后添加2>&1
(包括前導空格)。 您可能之后可以刪除它,它所要做的只是將錯誤重定向到輸出。
資源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.