我想在ubuntu服务器上使用php的exec()函数。问题是,我总是得到一个错误,命令没有找到。例如,使用
exec("echo 123");版画
sh: /echo:找不到
在我看来,当我想要使用bash时,php似乎在使用shell。我尝试在/etc/passwd中更改www-数据的shell,这也没有帮助。
有没有人知道问题可能来自哪里,或者我如何为php的ubuntu用户更改shell。
谢谢你,蒂莫
编辑
也许这会有帮助:
我将ssh中的bash脚本称为timo,这个脚本调用一个php脚本,它使用exec。我知道,听起来很奇怪,但这是一个更大的开发环境的一部分.
关键是,我从来不确定执行程序中的脚本是哪个用户执行的。
编辑
到目前为止,我发现还涉及到另一个权利问题。即使我尝试调用bash脚本test.sh (通过它的完整路径!)从内部执行,php test.php只会说。
sh: /test.sh: not
发布于 2021-04-10 22:27:53
我对Debian Docker PHP映像有问题,这帮助了我:
https://www.reliableembeddedsystems.com/wiki/index.php?title=Make_bash_default_shell
/bin/sh是破折号的一个符号链接,这可能更好,但不适用于我的脚本。
echo "dash dash/sh boolean false" | debconf-set-selections
dpkg-reconfigure -f noninteractive dashhttps://stackoverflow.com/questions/1792643
复制相似问题