![PHP CLI 為 $_SERVER 新增值](https://rvso.com/image/658753/PHP%20CLI%20%E7%82%BA%20%24_SERVER%20%E6%96%B0%E5%A2%9E%E5%80%BC.png)
我知道我可以透過 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 配置非常簡單。