请帮助我,我几个小时都遇到问题寻找解决方案:((
我想使用exec()函数从我的php脚本中使用mysqldump。
我在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服务器在windows本地机器上工作,我的mysqldump是MARIA DB
1-为什么同一行在CMD中起作用,但不是从php脚本起作用?
2-如何从exec()函数中获取结果以了解我的错误在哪里?
非常感谢你帮助我:(
答案 0 :(得分:1)
https://serverfault.com/questions/249853/does-mysqldump-return-a-status
那个回答让我几乎哭了。 我终于goooooooot itttttt! 我在调用中添加了2>c:/dump/database.err
,最后输出了错误的booooooooooooooooo。
" mysqldump的'不被识别为内部或外部命令,可操作程序或批处理文件。"
我更正了完整的路径名并完成了它。哦,我讨厌编程:(