php - 从命令行设置全局 php 环境变量?
问题描述
我需要将加密密钥存储在 php 应用程序的环境变量中,但我们的安全策略规定它不能从文件系统中任何位置的文件中定义。有没有办法在不依赖 env 文件的情况下从命令行或通过其他方法设置这个变量?
解决方案
您可以在 Apache 配置文件中设置环境变量,然后在 PHP 中访问它们。如果您希望它不在文件中,可以在将环境变量添加到文件后重新启动 Apache,然后删除 Apache 配置文件。当 Apache 已经启动时,您不需要它在那里。但是,如果 Apache 崩溃,则无法在没有配置文件的情况下重新启动 Apache。否则,我不确定您如何不能将其保存在文件中。
在 Apache 配置文件中(您必须启用 mod_env):
SetEnv NAME_OF_ENV_VAR put_your_encryption_key_here
在 PHP 中:
$env_var = apache_getenv('NAME_OF_ENV_VAR');
推荐阅读
- python - 如何在 Python 中将行转换为列
- boost - CMake + Boost + MSYS2 =“找不到提升库”
- javascript - antiforgerytoken 和数据发送但控制器方法中的数据为空
- c++ - 在 qt 中画一条具有精确视觉长度的线
- c# - 调试:System.DivideByZeroException:试图除以零
- audio - 首字母缩略词 AISAC 代表什么?
- javascript - 为什么 CSS 关键帧不能与 Position Absolute 一起使用?
- powershell - 如何使用 Get-EventLog 在 PowerShell 中获得与 Get-WinEvent 相同的结果?
- javascript - 从 json 字符串在 ReactJS 中动态创建 DOM
- dll - 将 .dll 引用到 dotnet core 2.2