Bash脚本从php命令行运行,但不从页面运行

时间:2016-04-09 16:46:26

标签: php bash apache shell raspbian

我有一个bash脚本,它可以从shell和PHP命令行中按预期工作,但是从Apache(Raspbian)的PHP页面调用时却没有。即,这有效(PHP命令行):

>php exec('/var/www/html/scripts/myBashScript.sh');

但这不是(index.php):

<?php
exec('/var/www/html/scripts/myBashScript.sh');
?>

没有显示任何错误消息,我无法在Apache服务器日志中看到任何相关内容。正如其他回复所示,我也尝试过:

  • exec(&#39; sh /var/www/html/scripts/myBashScript.sh')
  • EXEC(&#39; ./脚本/ myBashScript.sh&#39)
  • exec(&#39; sh ./scripts/myBashScript.sh')

脚本文件及其包含文件夹都具有Apache用户的rwx权限(www-data)。该脚本设置为可执行文件。内置的bash命令可以从php文件中按预期工作,即可以正常工作:

<?php
echo exec('whoami');
?>

我错过了什么?

1 个答案:

答案 0 :(得分:0)

问题结果与脚本中的非Bash命令有关,而不是与脚本本身有关。见上面的评论。谢谢@ AlexanderO'Mara。