Php
PHP + mod_fastcgi + suexec 無法讀取 .htaccess 中通過 SetEnv 設置的變數
我們通過 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 是可見的。