[英]What is the purpose of the php-fpm system environment variables?
我已經在 1 個 VM (centos7) 中進行了設置:
對於這項任務,我遵循了本指南(當然,我必須更改一些設置才能使其在我的環境中工作)
在指南的某些地方,我不得不在 php-fpm /etc/php-fpm.d/www.conf
的配置文件中取消注釋這些行
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
在指南中,據說這些是php-fpm系統環境變量。 我不得不取消注釋它們才能激活它們。
我對這些變量一無所知,但我知道它們將我的系統的一些信息作為值。
另外,我不得不說我的 nextcloud 在沒有注釋這些變量的情況下工作沒有錯誤。 但只是為了測試,我再次評論了這些行,nextcloud 繼續像往常一樣工作。
所以我想學習但目前我無法理解的是:
為什么指南說需要這些變量? 在nginx和php-fpm的通信過程中,這些變量如果被激活,有什么作用呢?
為什么指南說需要這些變量?
因為它對文章來說有點垃圾,無關緊要。
這些變量的作用是什么
我猜,主要用途是為特定 PHP-FPM 池傳遞一個具有不同值的環境變量。 例如,您已經在/usr/local/bin/foo
下安裝了一些 CLI 工具(例如在圖像格式之間進行轉換)。 然后你想讓你的網站能夠啟動它。 它不能,除非它可以在PATH
環境變量中找到它(默認情況下不包括/usr/local/bin
。
所以你有兩個選擇:
更改 PHP-FPM 用戶的PATH
(在池設置中定義),例如在~/.bashrc
env[PATH] = /usr/local/bin:/usr/bin:/bin
所以這只是實現相同目標的方法之一。
如果激活,在nginx和php-fpm的通信過程中?
不,這與 NGINX->PHP-FPM 無關。 這就是 PHP-FPM 將如何運行其工作進程(在哪個環境下),因此它會影響 PHP 腳本將如何/哪個環境看到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.