PHP-无法执行`ssh add-l`
我无法通过php执行ssh addPHP-无法执行`ssh add-l`,php,Php,我无法通过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=`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`;
瞧!它就像一个符咒。我想这两者需要结合起来。但我得到的只是一个空白,你的意思是
$res
是一个空字符串吗?@Moontails:你的问题确实很清楚。首先,你是否故意保留了“而不是”(或)。或者这是一个打字错误?执行的另一个方面,我们不使用echo,我们使用exec。@ritesh\u nitw`(倒勾)用于执行命令,如exec!@alex yeah$res是一个空字符串。@ritesh\u nitw:似乎您不了解反勾号在PHP中的用法!您可以启用PHP并检查是否有任何(错误)输出吗?