簡體   English   中英

無法在 Apache 中設置環境變量

[英]Unable To Set Environmental Variables in Apache

我正在嘗試在 Apache 中設置環境變量以增加一點安全性,並使用 PHP 訪問它們。 我在 httpd.conf 的 VirtualHost 指令中使用 SetEnv。 所以在 httpd.conf 中,我有:

<VirtualHost *:80>
    DocumentRoot "/var/www/html"
    ServerName "website.com"
    ServerAlias "www.website.com"
    SetEnv myDatabaseServer myserver.rds.amazonaws.com
    SetEnv myPort 3306
    SetEnv myUsername Username
    SetEnv myPassowrd Password
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =website.com [OR]
    RewriteCond %{SERVER_NAME} =www.website.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

使用 phpinfo() 文件,我沒有看到列出的任何環境變量,我也無法使用 getenv 在 PHP 中訪問它們,所以我假設它們甚至永遠不會到達那里。 我總是確定在更改后重新啟動 httpd。 我知道我一定遺漏了一些小東西,但我很少需要深入研究配置文件,所以我希望有人能給我一些見解或建議。 這是一個 AWS 服務器。 我不知道這是否重要,但服務器是通過安全 https 訪問的。 謝謝你的幫助!

所以事實證明,當我設置這個服務器時,我已經設置了一個自動更新的 SSL 證書。 我對所有這些 web 開發都是新手,所以我只是認為 Apache 的所有內容都進入了 httpd.conf 文件。 男孩是我錯了。 當我創建這個證書時,大約設置了十幾個其他配置文件。 我一一瀏覽,最終找到了一個名為 httpd-le-ssl.conf 的文件。 在這個配置中,有一個監聽 443 的 VirtualHost 設置。我把我的環境變量放在那里,瞧,它起作用了!

感謝您的建議!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM