【发布时间】:2014-09-01 10:28:35
【问题描述】:
在 Web 服务器的维护脚本中,我需要获取该服务器上每个网站/应用程序的数据库设置。由于大多数网站都是基于 Drupal 的,所以主要的设置文件是 settings.php,在该文件中定义了各种变量(例如 $database),但有时它还包含该特定网站的 ini_set() 语句。
脚本可以包含settings.php来获取数据库设置,但是脚本会抛出诸如
之类的错误Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in include() (line 123 of /path/to/website/sites/default/settings.php).
有没有办法只从包含的 php 文件中加载(特定)变量? 当然,我的意思是平滑的东西。我知道,我可以将文件加载到字符串中,使用正则表达式来提取数据库变量和 eval(),但我宁愿认为有更好的方法。
【问题讨论】:
-
最明智的做法是将这些变量放入第三个文件中,您需要在两个文件中
include。 -
确实如此。但我确实需要从各种不同的系统(Drupal、LimeSurvey、CodeIgniter、自定义系统)读取设置,总共有 100 多个安装。对于自定义站点,这确实是一个选项(实际上是这样设置的),但是对于 Drupal 等预定义系统,我希望有一个不需要更改安装例程的解决方案。