我正在尝试使用PHP脚本从我的网站上执行一个shell脚本,但是我一直得到这样的输出:
输出: Array ()返回: 126
我知道这与权限有关,但我授予了所有可能的^^‘(777)权限。
下面是php源代码:
exec('importData.sh', $output, $return);
echo "Output: ";
print_r($output);
echo " Return: " . $return . "</pre>";importData文件包含以下内容:
#!/bin/bash
echo "Hello";这只是一个测试脚本,还有更多的.shell脚本位于我的网站所在的远程服务器上。提前谢谢。
发布于 2020-05-18 14:55:45
来自https://www.gnu.org/software/bash/manual/html_node/Exit-Status.html
如果找到一个命令,但不能执行,则返回状态为126。
也许您已经授予了执行脚本的权限,但是执行脚本的用户根本没有执行bash的权限,甚至没有回显的权限。
如果您没有检查bash位置或权限的方法,可以尝试删除shebang行(#!/bin/bash),它不是很干净,但大多数情况下,如果脚本很简单,并且可以使用任何shell执行,则不需要它
https://stackoverflow.com/questions/61871953
复制相似问题