我在Mac OS X 10.9.4上使用PHP 5.4.24運行Apache 2.2.26。我有幾個虛擬主機在這個系統上運行,並且它們都成功運行。我試圖向其中一個虛擬主機添加環境變量,我不希望它們在.htaccess中,所以我唯一的選擇是將它們添加到httpd-vhosts.conf中。http-vhosts.conf虛擬主機環境變量不起作用
問題是,在我將它們安裝到httpd-vhosts.conf文件(當然,在重新啓動Apache「sudo apachectl restart」)後,環境變量沒有出現。但是,如果我將它們添加到.htaccess(僅用於比較目的),它們顯得很好。我錯過了什麼?
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mysite.local
DocumentRoot "/path/to/mysite.com"
SetEnv siteid 1234
ErrorLog "/var/log/apache2/mysite.local-error_log"
</VirtualHost>
我也仔細檢查我的php.ini文件,以確保沒有什麼是望而卻步那裏,唯一相關的線看起來不錯:
variables_order = "GPCSE"
同樣,僅僅是明確的,我虛擬主機RUN FINE。只是在我的PHP代碼中調用時,環境變量纔會出現。我已經嘗試了這三個命令中的每一個:
echo $_SERVER["siteid"];
echo getenv("siteid");
echo apache_getenv("siteid");
我能做什麼錯?
如果你打算低估這個問題,至少告訴我爲什麼。我非常簡潔地概述了我的問題,並提供了詳細的平臺和版本信息。你怎麼敢。 – David 2014-11-06 04:52:37
我同意,有一個upvote。你爲什麼從默認'variables_order'(EGPCS)更改的原因?僅供參考,這在我的服務器上正常工作。 – Phil 2014-11-06 04:58:18
謝謝@Phil。它之前被設置爲GPCS,因此我只是將E添加到最後,而沒有任何考慮。我現在看到「默認值:'EGPCS'」指令行,並相應地進行了更新。不幸的是,我重新啓動了Apache,並沒有影響我的問題。 – David 2014-11-06 05:02:22