我无法通过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`;
瞧!这招很管用。我想这两者需要结合在一起