Php Codeigniter配置文件在运行时更改

Php Codeigniter配置文件在运行时更改,php,codeigniter,Php,Codeigniter,是否可以在运行时编辑配置文件?我正在开发一个模块管理器,它必须能够动态更改配置的某些方面 这意味着能够在运行时读取和写入此文件,并修改此行 $config ['WebTitle'] = 'foo'; 一些提示 PD:我不想在数据库中创建一个新表来存储这个配置。替代品 编辑:在搜索了一段时间后,我找到了一个与我要寻找的答案非常相似的答案,但没有成功 可能吧。你能阻止这个吗 响应链接:根据您的第二条评论,是的,有一种方法可以根据网站更改配置值:您只需在config.php文件中包含带有配置变量的i

是否可以在运行时编辑配置文件?我正在开发一个模块管理器,它必须能够动态更改配置的某些方面

这意味着能够在运行时读取和写入此文件,并修改此行

$config ['WebTitle'] = 'foo';
一些提示

PD:我不想在数据库中创建一个新表来存储这个配置。替代品

编辑:在搜索了一段时间后,我找到了一个与我要寻找的答案非常相似的答案,但没有成功

可能吧。你能阻止这个吗


响应链接

根据您的第二条评论,是的,有一种方法可以根据网站更改配置值:您只需在config.php文件中包含带有配置变量的if(或switch)语句。这样,您就可以拥有具有相同CI核心的多域站点:

if (($_SERVER['HTTP_HOST']=='localhost') or ($_SERVER['SERVER_ADDR']=='127.0.0.1')) {
   // Config array web site for development
} else if ($_SERVER['HTTP_HOST']=='www.website1.com') {
   // Config array website1
} else if ($_SERVER['HTTP_HOST']=='www.website2.com') {
   // Config array website2       
} ... and so on

听起来你想修改配置文件。如果是这样,是的,你可以做到。您需要确保该文件可由web服务器写入。然后只需打开()文件,将其放入内存,更改所需内容,然后重新写入()。轻松点!:)

请记住,如果您处于共享托管状态,则存在安全风险


如果正在执行安装过程,则可能需要通过调用fileperms()来检查权限。然后,如果权限不正确,告诉用户他们将需要ftp到他们的帐户中,并使文件可写。然后,在安装完成后,告诉用户再次将文件标记为不可写。

是的,您可以使用
$this->config->set_item('item_name','item_value')看一看CI文档。我需要的是一些替代方法来永久更改所有用户和所有网站的配置文件,这将起作用?PHP每次都会根据请求解析整个PHP文件。通过这种方式,您可以在应用程序内部动态更改加载的配置,而不是物理配置文件;这就足够了。我需要在配置上保留更改,这是我的问题。
file\u put\u contents(APPPATH./config/config.php','$config='.var\u export($config,true))