Tim*_*imo 11 php bash shell ubuntu exec
我想在ubuntu服务器上使用php的exec()函数.问题是,我总是得到一个错误,找不到命令.例如使用
exec("echo 123");
Run Code Online (Sandbox Code Playgroud)
版画
sh:/ echo:未找到
对我来说,当我想使用bash时,看起来php正在使用sh shell.我尝试在/ etc/passwd中更改www-data的shell,这也没有帮助.
有没有人知道问题可能来自哪里,或者我如何为php的ubuntu用户更改shell.
谢谢,蒂莫
[编辑]
也许这有助于:
我从ssh调用bash脚本作为timo,这个脚本调用一个php脚本,它使用exec.我知道,这听起来很奇怪,但它是更大的开发环境的一部分......
关键是,我不确定,exec中的脚本执行的用户.
[编辑]
到现在为止,我发现必须涉及另一个权利问题.即使我尝试从exec中调用bash脚本test.sh(通过它的完整路径!),php test.php也会说.
sh:/test.sh:找不到
Tre*_*rey 11
请尝试使用shell_exec().exec不应该调用任何shell来执行你的程序.或者,您可以使用exec调用bash
exec("/bin/bash -c \"echo $foo > bar.txt'\"")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8906 次 |
| 最近记录: |