我在终端中有命令 sudo -u www-data echo $PATH 的下一个结果:
/home/denis/node-v0.12.0/bin:/home/denis/node-v0.12.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
如果我运行命令 echo `echo\$PATH`,我将在 PHP 中得到下一个结果:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
终端和 PHP 中的 PATH 不同。我不明白为什么。
最佳答案
按照给定的字面意思运行命令
sudo -u www-data echo $PATH
$PATH
在执行 sudo
之前由您的 shell 扩展(并显示 your $PATH
) .但是,如果您正确引用它,它可能会延迟到 sudo 用户,并暴露出不同的问题。
除非您为此做出特殊规定(sudo
的一个选项,它可能会/可能不会工作),PATH
等环境变量在使用时会重置为系统默认值须藤
。进一步的讨论见
关于php - 终端和 PHP 中的 PATH 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29445099/