Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP复制远程MySQL数据库失败时未获取错误代码->;SSH->;MYSQLDUMP_Php_Ssh_Mysqldump - Fatal编程技术网

使用PHP复制远程MySQL数据库失败时未获取错误代码->;SSH->;MYSQLDUMP

使用PHP复制远程MySQL数据库失败时未获取错误代码->;SSH->;MYSQLDUMP,php,ssh,mysqldump,Php,Ssh,Mysqldump,我创建了一个脚本,在SSH连接中使用mysqldump复制远程数据库。然后我移植到我的PHP脚本,这样我可以更好地管理几个服务器 我的问题是当复制失败时。。。我没有从命令中得到错误代码 这是命令: ssh-p22-i mykey.key-oStrictHostKeyChecking=no-oUserKnownHostsFile=/dev/nullbackup@hostname“mysqldump-hlocalhost-udbuser--databases db”>myfile.sql 它有效=)

我创建了一个脚本,在SSH连接中使用mysqldump复制远程数据库。然后我移植到我的PHP脚本,这样我可以更好地管理几个服务器

我的问题是当复制失败时。。。我没有从命令中得到错误代码

这是命令:

ssh-p22-i mykey.key-oStrictHostKeyChecking=no-oUserKnownHostsFile=/dev/nullbackup@hostname“mysqldump-hlocalhost-udbuser--databases db”>myfile.sql

它有效=)

带有简化systax的PHP代码:

$comando = 'ssh -i mykey.key backup@hostname "mysqldump --databases db" > myfile.sql';
$ret_text = exec($comando, $output, $ret);
// Doesnt matter if command fails or sucess, result is?
//$ret = empty
//$output = empty
//$ret_text = empty
我需要知道复制失败时,有人知道如何获取远程错误代码吗


谢谢

neubert解决方案有效!谢谢

我最后说:

$comando = 'ssh -i mykey.key backup@hostname "mysqldump --databases db 2>&1\" 2>&1 > myfile.sql';

如何通过
2>&1
将stderr定向到stdout?我将尝试并响应,因为故障发生在远程端,退出代码不会被传输回来,所以您根本不会得到任何输出。