无法在 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 的文件。在这个配置中,有一个 VirtualHost 设置监听 443。我把我的环境变量放在那里,瞧,它起作用了!

感谢您的建议!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章