我正在尝试从php脚本运行shell脚本。
我完全控制了环境(mac上的unix),我应该正确设置所有权限等。
网页脚本位于/htdocs/
shell脚本可以在任何地方执行,所以当我转到shell中的/ htdocs /时,我可以像这样轻松运行它: $ my_shellscript
..但是当我的php脚本(位于htdocs中)尝试调用它时:
shell_exec('my_shellscript');
我一无所获。
我已经证明可以从该位置调用该脚本,并且我已暂时授予完全访问权限以尝试以某种方式使其工作。我疯了,请帮忙。
如果您知道通过网络触发shell脚本的其他方式,那就没问题了。
提前致谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
由于它是一个shellcript,因此需要使用路径前缀来调用它。我的猜测是你需要这样做:
shell_exec('./my_shellscript');
答案 2 :(得分:0)
答案 3 :(得分:0)
尝试
echo shell_exec('my_shellscript 2>&1');
将捕获脚本的stderr输出并将其打印出来。如果脚本中的某些内容失败,则在不以交互方式运行时,此输出将会丢失。