2016-08-20 45 views
0

請幫幫我,我被困在一個問題尋找解決時間:((php - 如何使用exec()從mysqldump返回?

我想用exec()函數來使用mysqldump從我的PHP腳本

我這樣做在PHP

$com = "mysqldump --user=username --password=mypassword mydatabasename >c:\dump\test.sql"; 
$exec($com,$result); var_dump($result); 

,它總是返回在指定的位置空TEST.SQL文件,$result始終是一個空數組。

的事情是,當我寫在CMD它完全相同的行作品!我試過使用shell_exec(),結果也是空字符串!我也嘗試添加--host = localhost,但沒有任何反應。

我的窗戶本地機器上工作與XAMPP服務器,我的mysqldump是MARIA DB

1 - 爲什麼同樣的線路工作在CMD,但不能從PHP腳本?

2-如何從exec()函數獲得結果以知道我的錯誤在哪裏?

非常感謝你對我的幫助:(

+0

用戶\文件權限問題probaby – 2016-08-20 03:45:30

+0

@Dagon你的意思是mysqldump沒有權限寫在指定的位置? –

+0

............是的。 – 2016-08-20 03:53:36

回答

1

https://serverfault.com/questions/249853/does-mysqldump-return-a-status

這個答案讓我差點哭了。 我終於goooooooot itttttt! 我加2>c:/dump/database.err的號召,並boooooooooooooooooom它沒有輸出錯誤finally

「mysqldump」不被識別爲內部或外部命令,可操作程序或批處理文件。「

我更正了完整的路徑名並完成了它。哦,我討厭編程:(