我的系统是Ubuntu,我已将环境变量设置为/etc/environment
.
如果我使用CLI运行PHP脚本-可以识别来自的环境变量。/etc/environment
但是,如果我通过(即apache2handler )执行PHP脚本,则完全相同的脚本会打印出 NULL,这意味着未加载来自的环境变量。http://domain/test.php
/etc/environment
我所做的修复是在其中添加变量/etc/apache2/envvars
并解决了问题。
但这是两个不同的文件,它们必须保持同步。
如何使PHP / Apache/etc/environment
从(系统)加载和识别环境变量?
编辑:为了澄清事情,当我说“未加载到 PHP 中”时,它意味着来自的变量/etc/environment
未设置在$_SERVER
,中$_ENV
,getenv()
并且不存在于$GLOBALS
. 换句话说,“没有加载到 PHP 中”。