Php

PHP + mod_fastcgi + suexec 無法讀取 .htaccess 中通過 SetEnv 設置的變數

  • June 27, 2018

我們通過 mod_fastcgi + suexec 執行 PHP,似乎 PHP 程序以這種方式執行,看不到文件SetEnv中設置的環境變數.htaccess。我通過 perl 腳本和 shell 腳本(都通過 執行mod_cgid)檢查了 SetEnv 確實設置了一個變數(即,這樣做是允許的AllowOverride並且mod_env被載入)。我通過$_SERVER, $_ENV,進行了檢查getenv(), 發現 PHP 沒有看到該變數。我還沒有嘗試找到合適的解決方案,但我會發布一個不錯的解決方法。$HTTP_ENV_VARS``phpinfo()

對於那些遇到同樣問題的人,一個不方便但快速的解決方法是將文件中的相關 - 行複製SetEnv到相應域.htaccess的配置塊中,然後重新啟動 Apache。VirtualHost以這種方式設置的變數似乎對 PHP 是可見的。

引用自:https://serverfault.com/questions/918528