[英]PATH in terminal and in PHP is different
我在終端中有命令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
(並顯示您的 $PATH
)。 但是,如果您正確地引用了此內容,則可以將其推遲到sudo'd用戶中,從而暴露出另一個問題。
除非對此進行特殊規定( sudo
一個選項,它可能會/可能不起作用),否則在使用sudo
時,會將諸如PATH
類的環境變量重置為系統默認值。 有關更多討論,請參見
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.