无法在 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() 文件,我看到 none 列出了我的环境变量,我也无法在 PHP 中使用 getenv 访问它们,所以我假设它们永远不会是偶数到达那里。我总是确保在更改后重新启动 httpd。我知道我一定遗漏了一些小东西,但我很少需要深入研究配置文件,所以我希望有人能给我一些见解或建议。这是 AWS 服务器。我不知道这是否重要,但服务器是通过安全 https 访问的。感谢您的帮助!
原来我在设置这个服务器的时候设置了一个自动更新的SSL证书。我是所有这些 Web 开发的新手,所以我想当涉及到 Apache 时,一切都进入了 httpd.conf 文件。男孩是我错了。当我创建这个证书时,设置了大约十几个其他配置文件。我一一浏览,最终找到了一个名为 httpd-le-ssl.conf 的文件。在此配置中,有一个监听 443 的 VirtualHost 设置。我将我的环境变量放在那里,瞧,它起作用了!
感谢您的建议!
我正在尝试在 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() 文件,我看到 none 列出了我的环境变量,我也无法在 PHP 中使用 getenv 访问它们,所以我假设它们永远不会是偶数到达那里。我总是确保在更改后重新启动 httpd。我知道我一定遗漏了一些小东西,但我很少需要深入研究配置文件,所以我希望有人能给我一些见解或建议。这是 AWS 服务器。我不知道这是否重要,但服务器是通过安全 https 访问的。感谢您的帮助!
原来我在设置这个服务器的时候设置了一个自动更新的SSL证书。我是所有这些 Web 开发的新手,所以我想当涉及到 Apache 时,一切都进入了 httpd.conf 文件。男孩是我错了。当我创建这个证书时,设置了大约十几个其他配置文件。我一一浏览,最终找到了一个名为 httpd-le-ssl.conf 的文件。在此配置中,有一个监听 443 的 VirtualHost 设置。我将我的环境变量放在那里,瞧,它起作用了!
感谢您的建议!