PHP 未加载 /etc/sysconfig/httpd 中设置的 ENV 变量

PHP 未加载 /etc/sysconfig/httpd 中设置的 ENV 变量

我正在运行 Drupal 站点(Apache 和 PHP),并希望将设置文件中的某些值设置为环境变量。经过研究,正确的方法似乎是将它们添加到 /etc/sysconfig/httpd 文件中。看来 PHP(mod_php)没有加载变量。

我的 /etc/sysconfig/httpd 文件如下所示 -

LANG=C
db_server=internaldns.mine.com
db_port=3306
memcache_server1=otherinternaldns.mine.com:11211

我正在 Drupal(php 7(mod_php))中加载变量,如下所示 -

$databases['default']['default'] = array (
   ...
  'host' => $_ENV['db_server'],
  'port' => $_ENV['db_port'],
   ...
);

但是,它似乎没有加载变量,因为当我执行网站状态时,我看到以下内容 -

 Drupal version : 8.9.11                                                                             
 Site URI       : http://default                                                                     
 DB driver      : mysql                                                                              
 DB port        :              (THIS SHOULD HAVE THE VARIABLE)                           

当我设置没有变量的相同值时,它们正常工作。

这里我是否遗漏了一些将变量加载到环境内部的步骤?

答案1

您需要使用 mod_env 模块中的 passenv 指令,请参阅mod_env

相关内容