我想使用代码在localhost上备份一个表。
$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = '';
$dbname = 'snapmall';
$dbtable = 'tb_translation';
$dbpath = 'D:test/new/';
//mysqldump -u root -p snapmall ps_translation > D:/test/new/ps_translation.sql
$command = "mysqldump -u $dbuser -p $dbpass $dbname $dbtable > ".$dbpath.$dbtable.".sql";
shell_exec($command);
我在xampp的shell上有测试命令,它工作正常,但是当我通过命令shell_exec()运行它时,文件为空。
答案 0 :(得分:0)
试试这个,添加2>& 1来获取命令的输出:
$output = shell_exec($command." 2>&1");
然后在这里发布。
你需要能够通过之前调用xamp来执行命令,因为你的exec正在访问bash而不是xampp,所以,换句话说,你的exec必须可以访问一组基本命令,配置你的PATH变量。