PHP CLI 為 $_SERVER 新增值

PHP CLI 為 $_SERVER 新增值

我知道我可以透過 Nginx 將自訂值新增至 $_SERVER 變數

fastcgi_param MY_VARIABLE "myValue";

是否可以將相同的變數加入到 PHP CLI $_SERVER?這將專門用於 cron 作業。我正在使用 Ubuntu 伺服器。

我發現的一種選擇是呼叫 PHP 腳本,例如

$ MY_VARIABLE="myValue" php /path/to/php/script

但這似乎不太理想。

預設情況下,環境變數不會發送到 PHP,據我了解,這樣做會稍微減慢速度。如果可能的話我想避免這種情況。

答案1

我發現的最佳解決方案是將變數放入 /etc/environment 中。其中的設定由 cron 作業和 CLI 載入並顯示在 PHP $_SERVER 中。

預設情況下,/etc/environment 有一行 PATH。只需在文件末尾添加一個新行即可。

PATH="/usr/local/sbin: ... "
MY_VARIABLE="myValue"

附帶說明一下,該檔案的 PATH 設定似乎被 PHP 覆蓋,如 $_SERVER 所示。

PHP Web 服務不會顯示該變量,但將其新增至 Nginx 配置非常簡單。

相關內容