簡體   English   中英

終端和PHP中的PATH不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM