首页 > 解决方案 > 从命令行设置全局 php 环境变量?

问题描述

我需要将加密密钥存储在 php 应用程序的环境变量中,但我们的安全策略规定它不能从文件系统中任何位置的文件中定义。有没有办法在不依赖 env 文件的情况下从命令行或通过其他方法设置这个变量?

标签: php

解决方案


您可以在 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');

推荐阅读