我无法通过 php 执行 ssh-add
$res=`ssh-add -l`;
echo $res;
但是 $res 是一个空字符串。有没有人遇到过同样的问题?
您应该使用 ssh-add 的完整路径(如/usr/bin/ssh-add
)。
此外,请确保www-data
(或任何其他调用 PHP 进程的用户)有权启动该进程。
好吧,我找到了解决这个特殊问题的方法。
我最初在做
$res1=`eval \`ssh-agent\``;
$res2=`ssh-add -l`;
但是由于某种原因,PHP 似乎无法单独执行此操作,因此我将它们组合成一个命令
$res=`eval \`ssh-agent\`; ssh-add -l`;
瞧!它就像一个魅力。我想这两个需要绑定在一起。