我的系统:
我有很多环境变量想添加到 Apache 中。
我目前正在通过添加到我的/etc/httpd/conf.d/vhosts.conf
文件中来做到这一点:
SetEnv API_USERNAME 'my_special_username'
SetEnv API_PASSWORD 'my_special_password'
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式访问 PHP 中的两个环境变量:
echo $_SERVER['API_USERNAME'];
echo $_SERVER['API_PASSWORD'];
// or
echo getenv('API_USERNAME');
echo getenv('API_PASSWORD');
Run Code Online (Sandbox Code Playgroud)
最近,我发现我还可以通过添加环境变量systemd:
我创建文件/etc/systemd/system/httpd.service.d/envvars.conf
:
[Service]
Environment="API_USERNAME=my_special_username"
Environment="API_PASSWORD=my_special_password"
Run Code Online (Sandbox Code Playgroud)
其次是
systemctl daemon-reload
systemctl restart httpd
我可以通过以下方式访问 PHP 中的两个环境变量:
echo getenv('API_USERNAME');
echo getenv('API_PASSWORD');
// $_SERVER does not work when I specify environment variables in systemd
echo $_SERVER['API_USERNAME']; // returns blank
echo $_SERVER['API_PASSWORD']; // returns blank
Run Code Online (Sandbox Code Playgroud)
题
在安全性或最佳实践方面,最好使用 SetEnv 或systemd …