php - 终端和 PHP 中的 PATH 不同

标签 php linux apache

我在终端中有命令 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/

相关文章:

java - ApacheFOP 未利用足够的系统资源

php - 为什么我打印的数组末尾有一个 1?

php - 在 ffmpeg 转换中..这是给 $_server ['document_root' 的补偿吗?

linux - 我的 Perl 有多糟糕?获取 IP 地址并返回完全限定域名的脚本

linux - 是否有像 Git 一样的 SVN 交互式提交菜单 --interactive?

在配置了代理的环境下运行的 Java 小程序(企业网络)

apache - (Jekyll?)自动 i18n(使用 Apache 的 mod_negotiation)?

php - Paypal 快速结账捕获资金

php - 编译 swig 界面后缺少符号

linux - 查找 mpirun 命令的 pid