在 php 脚本中读取用户的环境变量

Read user's environment variable in php script

我正在尝试查询在 PHP 脚本中设置我的 .bashrc 文件(我 运行ning Ubuntu 14.04)的环境变量 运行 在 Apache 服务器下。

当我在访问页面时查询 getenv('MY_VAR_NAME') 或 $_ENV['MY_VAR_NAME'] 时,似乎缺少这些变量..

我的猜测是:执行脚本时,用户是 www-data,因此 'MY_VAR_NAME' 无法访问。

是否有解决此类问题的程序/最佳实践?

谢谢

My guess is: when the script is been executed the user is www-data, so 'MY_VAR_NAME' is not accessible.

你猜对了。 :)

Is there any procedures / best practices to this kind of problems ?

大多数程序员会做的是拥有一个包含这些变量的配置文件。您可以将配置文件存储在 PHP 脚本可以访问的某个区域——无论是在某个主目录中,还是在 /etc 中。或者在其他地方,例如在网络根目录或附近的目录中。

不同的框架对配置文件的格式采用不同的方法 -- 有些是 PHP 脚本,有些是 YAML 文件,有些是 windows/DOS 格式的 INI 文件,有些是 XML,有的是JSON,等等

我个人喜欢这样做的想法:

  • 在简单的 INI 文件中仅存储访问数据库所需的配置。
  • 将所有剩余配置存储在数据库中table,并为您需要能够编辑的部分构建一个编辑器。
  • 在 memcached 中缓存配置数据库的内容 table。

但是,您使用哪种方法取决于您,并且会根据您的应用程序的需要而有所不同。