我正在尝试从 php 函数运行 sh 脚本文件,shell_exec()
但每次返回都不正确。
这是 sh 文件内容:
if [[ -z $1 ]]
then
echo "svn st: NULL"
else
command=$(ssh -q USER@IP_OF_THE_REMOTE_NODE "svn st $1")
if [[ -z $command ]]
then
test="svn st: OK"
else
test="svn st: KO"
fi
echo $test
fi
每次我从 shell 运行这个 sh 脚本时,回声总是正确的。“$1”包含我必须检查的工作目录。
但是如果我以这种方式运行相同的脚本:
$w_path = $working_path['path'];
$com = "sh /tmp/my_script_test.sh $w_path";
echo "content com ".$com;
$res = shell_exec($com);
echo "content res ".$res;
最后一个回显打印总是“svn st:OK”,这对某些人来说是正确的$w_path
,但对其他人来说完全不正确!为什么?我怎样才能找到错误?
我不认为这是一个 ssh 密钥问题,因为我使用了一个指南来解决这个问题,现在我不需要为远程服务器插入密码。
感谢和问候