在PHP中使用shell_exec只会返回“未找到”错误

时间:2012-09-06 06:20:42

标签: php

当使用shell_exec()触发我的系统上的任何命令时,我的日志中遇到“未找到”错误,但是这不会发生在大厅命令中。

我可以使用shell_exec( 'dig google.com' );并获得正确的输出,但当我尝试触发shell_exec( '/path/to/my.sh param1 param2' );时,我最终会使用

sh: /path/to/my.sh: not found

我很茫然,我原本打算以这种方式生成一个新用户,在Debian上巧妙地使用adduser命令,但是当PHP尝试触发它时,甚至找不到该命令(与我的错误相同)拥有自定义shell脚本文件,所以我有sh: adduser: not found

在测试环境中,apache会话使用ITK以root身份运行,并且我还确保我自己的shell脚本具有正确的权限并且是可执行的

使用Zend 2.3.0和Suhosin 0.9.32.1运行PHP 5.3.3-7 + squeeze14

1 个答案:

答案 0 :(得分:0)

只需尝试exec()而不是shell_exec()来执行命令。它会起作用