codecamp

CakePHP的配置

CakePHP默认附带一组配置文件,我们可以根据需要对它进行修改。有一个专门的目录“config”用于保存这些配置文件,CakePHP拥有一些列的可配置选项:

常规配置

下表描述了各种变量的作用,以及它们如何影响你的CakePHP应用程序。

变量名

描述和说明

debug

更改调试输出:
false=生产模式,不显示错误信息、错误或者警告;
true=显示错误和警告

App.namespace

应用程序 classes(类)目录

App.baseUrl

如您并未打算在CakePHP中启用Apache的mod_rewrite模块,
请取消注释此定义,并删除.Htaccess文件

App.base

应用程序驻留的基准目录,如设置为false,程序将自动检测目录路径

App.encoding

定义应用程序所使用的编码,此编码用以生成布局中的字符集和编码实体,
必须与数据库所指定的编码一致

App.webroot

网站根目录

App.webRoot

到网站根目录的文件路径

App.fullBaseUrl

至应用程序根目录的完全限定域名(含协议)

App.imageBaseUrl

至根目录下image目录的网络路径

App.cssBaseUrl

至根目录下css目录的网络路径

App.jsBaseUrl

至根目录下js目录的网络路径

App.paths

配置non-class资源的路径,支持plugins、templates、locales子项,
允许分别为插件(plugins)、视图模版(view templates)
和本地化文件(locale files)分别定义路径

Security.salt

一组用于散列的随机字符串,也用于在对称加密中作为HMAC盐

Asset.timestamp

当使用适当的助手类时,在资源文件路径(CSS, JavaScript, Image的URL)的结尾处加上一个时间戳,
此时间戳为对特定文件修改的最后时间。


数据库配置

数据库可以在config/app.php文件中进行配置,此文件包含了一组可供我们修改的默认连接设置,下图显示了可修改的参数及其值。


让我们来详细了解每个参数 -

描述
className代表连接到数据库服务器的类的包含完整命名空间的类名,
这个类用来负责加载数据库驱动程序,提供SQL事务处理机制和准备其他SQL语句
driver用来实现数据库引擎各种特性的类的类名,这个名字可以是一个使用插件语法的简短类名,
也可以是一个完整命名空间的类名,还可以是一个构造的驱动实例的名字。
简短类名的例子有:Mysql、Sqlite、Postgres、和Sqlserver。
persistent是否使用用久连接到数据库
host数据库服务器的主机名,或者IP地址
username数据库用户名
password数据库密码
database数据库名称
port(可选)用于连接到数据库服务器的TCP 端口或者Unix套接字
encoding用来指定发送SQL语句时使用的字符集,例如'UTF8'
timezone设置服务器的时区
schema在Postgres数据库设置中用来指定使用哪种模式
unix_socket驱动程序用它来支持通过unix套接字文件的连接,如果你使用Postgres数据库,并且希望使用unix套接字,请把host键值留空
ssl_key至SSL密钥文件的路径(仅MySQL支持)
ssl_cert至SSL证书文件的路径(仅MySQL支持)
ssl_ca至SSL证书授权文件的路径(仅MySQL支持)
init当数据库连接创建时,需发送至数据库服务器的一组请求语句列表
log设置为true以启用查询日志,当被启用时,查询记录会在queriesLog范围内以调试级别显示
quoteIdentifiers如果你要在你的表中或者列名中使用保留字或者特殊字符,请设置此项为true;
启用此设置将导致创建SQL语句时,使用引用标识符的Query Builder来创建查询语句,会降低性能
flags须发送至底层PDO实例的PDO常量的一个关联数组
cacheMetadata或者boolean true,或者是一个包含存储元数据缓存的字符串;
如果禁用此元数据缓存会导致极低的性能,不推荐


CakePHP的文件夹结构
CakePHP的电子邮件配置
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

CakePHP Useful Resources

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }