Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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-无法执行`ssh add-l`_Php - Fatal编程技术网

PHP-无法执行`ssh add-l`

PHP-无法执行`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似乎无法单独完成这项工作

我无法通过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`;

瞧!它就像一个符咒。我想这两者需要结合起来。

但我得到的只是一个空白,你的意思是
$res
是一个空字符串吗?@Moontails:你的问题确实很清楚。首先,你是否故意保留了“而不是”(或)。或者这是一个打字错误?执行的另一个方面,我们不使用echo,我们使用exec。@ritesh\u nitw`(倒勾)用于执行命令,如exec!@alex yeah$res是一个空字符串。@ritesh\u nitw:似乎您不了解反勾号在PHP中的用法!您可以启用PHP并检查是否有任何(错误)输出吗?