【发布时间】:2015-06-09 21:53:51
【问题描述】:
我需要通过 SSH 从服务器 A 使用 PHP 网页在服务器 B 上启动 Perl 脚本。
我的命令如下:
$cmd_string="ssh user@serverB 'perl path/to/script.pl param1 param2'";
我在 PHP 脚本中都试过了,但没有任何反应:
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd_string, $outputfile, $pidfile));
exec($cmd_string, $output);
通过终端运行此命令效果很好。
感谢您的帮助
【问题讨论】:
-
那么你得到了什么错误/返回值?
-
你能用php登录服务器吗?
-
用户“用户”到服务器 B 的 SSH 连接是自动化的。但在 error.log 中我得到:
Could not create directory '/var/www/.ssh'. Host key verification failed.看起来进程是由“www-data”而不是“用户”运行的?? -
你不是说
&&就在echo之前吗?一个&会将命令扔到后台并独立运行echo:我猜它会报告它是否可以启动第一个程序,但不会报告第一个程序的状态。
标签: php perl remote-server