配置说明
$config['language']:指定项目语言包。需要注意的时Codeigniter自带的类库错误提示语言包位于/system/language/english/目录下,当这里配置非english时, 如果需要用到这些类库,则需要拷贝语言包到指定的目录中,否则会出现load出错。
$config['charset']:设置系统使用的编码,在某些需要指定编码的函数中会用到,系统、数据库统一编码即可。
$config['enable_hooks']:钩子开关控制,设置为true表示允许使用钩子,否则不允许。
$config['subclass_prefix']:设置自定义类库、函数的前缀,默认为MY_,比如需要重写language helper中的lang方法时,只需要在helper目录下创建MY_language_herper.php,并实现lang函数即可实现“重载”。 这里MY_即为subclass_prefix中定义的值。
$config['permitted_uri_chars']:设置URL中允许的字符。
$config['log_threshold']:设置日志记录等级,为0则关闭日志记录,为4则记录所有信息,一般情况设置为1即可。设置之后需要确认下logs目录是否有写入权限。
$config['proxy_ips']:当服务器使用了代理时,REMOTER_ADDR获取的就是代理服务器的IP了,需要从 HTTP_X_FORWARDED_FOR、HTTP_CLIENT_IP、HTTP_X_CLIENT_IP、 HTTP_X_CLUSTER_CLIENT_IP或其他设定的值中获取。这里设定的就是代理服务器的IP,逗号分隔。
$config['encryption_key']:加密值,如果要用到CI自带的SESION则必须要设置该值。CI的自带SESSION存储与Cookie中,为安全起见,作加密处理。
配置读取
CI初始化开始过程中会通过get_config函数加载config.php文件,同时也提供了config_item来获取config的值,如:
1
|
echo config_item( 'charset' ); |
CI也提供了一个配置类用来维护配置文件。也可以通过下面方式来获取和设置config的值,当设置之后调用get_config的结果同样会变化,所以可以在某些逻辑前修改config的值。
1
2
3
4
|
//获取config中配置的charset值 echo $this ->config->item( 'charset' ); //重新设置config中charset的值 $this ->config->set_item( 'charset' , 'gbk' ) |