Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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运行SHC加密的bash脚本_Php_Encryption - Fatal编程技术网

从PHP运行SHC加密的bash脚本

从PHP运行SHC加密的bash脚本,php,encryption,Php,Encryption,我试图从php页面运行一个加密的bash脚本 当我在没有加密的情况下运行它时,它会正常运行 该脚本有两个从php代码中获取的变量,只有一行代码 当我以root用户身份运行加密脚本而不使用变量时,它也会运行ok 知道为什么不运行加密 我使用以下方式对其进行加密: shc-f -- 编辑: 了解发生了什么:我像这样运行脚本: $query=exec('sh/usr/lib/cgi-bin/add.sh');echo$query 相反,如果我将其作为root运行,如下所示: $query=exec

我试图从php页面运行一个加密的bash脚本

  • 当我在没有加密的情况下运行它时,它会正常运行
  • 该脚本有两个从php代码中获取的变量,只有一行代码
当我以root用户身份运行加密脚本而不使用变量时,它也会运行ok

知道为什么不运行加密

我使用以下方式对其进行加密:

shc-f

-- 编辑:

了解发生了什么:我像这样运行脚本:

$query=exec('sh/usr/lib/cgi-bin/add.sh');echo$query

相反,如果我将其作为root运行,如下所示:

$query=exec('sudo/usr/lib/cgi-bin/add.sh');echo$query

它运行正常,但我还有一个问题:

脚本现在运行正常,它给出了输出,但没有php变量传递给它

那么,我的下一个问题是:

php是否可能无法使用以下命令将变量传递给加密的bash:

putenv(“主机=$HOST”)


如果是这样,怎么做?

那么发生了什么事,你到底在做什么?您列出了它工作的一些条件,但是您没有告诉我们在不工作的情况下您在做什么,以及问题的具体原因;将“HOST”变量转发给bash。bash唯一要做的就是使用sed删除包含特定变量的行。同样,它可以不加密地工作,但是当我使用上面的命令加密它时,它不会运行。所有的测试脚本在我加密后都会正常运行。你到底是如何运行的?您是否捕获了任何输出?您是否收到任何错误消息?返回码是什么?不,脚本没有输出,我没有得到任何错误;我运行的脚本与未加密的脚本相同:$query=exec('sh/usr/lib/cgi-bin/add.sh');echo$query;尝试将
&$output
&$return
参数添加到
exec
以获取更多信息。