簡體   English   中英

PHP-mysqldump不起作用

[英]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 (包括前導空格)。 您可能之后可以刪除它,它所要做的只是將錯誤重定向到輸出。

資源:

http://php.net/manual/zh/function.popen.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM