我必须在 PHP 中获取有关操作系统的基本信息:
$p = shell_exec('cat /etc/*-release 2>&1');
返回:
cat: '/etc/*-release': No such file or directory
该命令通过 PuTTY 在终端/CLI 中正常运行。
我目前最好的解释是 PHP 需要设置路径。所以我尝试了这个:
$p = shell_exec('echo $PATH');
返回:
/bin:/usr/bin
echo $PATH
当我直接在终端中运行时,我得到了一个:
分隔列表。所以我把所有这些都直接放到了 PHP 文件中,如下所示:
putenv('/etc');
//plus others
仍然没有结果。我知道shell_exec()
与其他命令配合使用效果很好shell_exec('whoami');
。在终端/CLI 中,我以与 PHP 8.3 完全相同的用户身份登录。
我还遗漏了什么?