【发布时间】:2019-07-09 11:31:18
【问题描述】:
首先,我们有一个 shell 脚本,比如 ifelsesh.sh,其代码如下
a=20
b=20
if [ $a == $b ]
then
echo "a is equal to b"
else
echo "a is not equal to b"
fi
现在,我们想通过 php 来执行这个文件,比如 execSh.php
<?php
// $contents = file_get_contents('ifelsesh.sh');
try
{
exec('ifelsesh.sh',$output);
echo $output;
}
catch(Exception $e)
{
echo $e;
}
当我们通过命令行运行文件时工作正常
>php execSh.php
但是当我们通过浏览器运行 execSh.php 文件时,没有任何效果,为什么并让我们知道整理它的确切原因。提前致谢。
【问题讨论】:
-
为什么不直接执行
.sh脚本呢? -
另外,来自manual的关于
shell_exec()- “使用此函数无法检测执行失败。当访问程序退出代码时应使用exec()必填。”