我们的blog应用就要完成了,在发布之前,我们需要做一些调整
更换主页
我们把文章列表页作为主页。如下修改应用的配置文件
- return array(
- ......
- 'defaultController'=>'post',
- ......
- );
因为PostController已经声明list是它的默认方法,当我们访问应用的首页是,我们将会看到post controller的list方法产生的结果。
启用模式缓存
因为ActiveRecord依赖数据表中的元数据,来判断数据列的信息。对元数据的读取和分析需要花费时间。在开发阶段这或许不是问题。但是作为一个产品模式的应用,如果数据库模式没有发生改变的话,这样会浪费很多时间。因此我们应该启用模式的缓存,可以如下修改配置文件。
- return array(
- ......
- 'components'=>array(
- ......
- 'cache'=>array(
- 'class'=>'CDbCache',
- ),
- 'db'=>array(
- 'class'=>'system.db.CDbConnection',
- 'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
- 'schemaCachingDuration'=>3600,
- ),
- ),
- );
在上面的代码中,我们首先增加了cache组件,作为默认SQLite数据库的缓存存储器。如果我们的服务也有其他的缓存扩展,比如APC,我们也可以通过修改来使用它。我们设置数据库组件的schemaCachingDuration属性为3600,表示已经解析过的数据库模式在缓存里面可以持续有效3600秒
关闭调试模块
我们修改入口程序文件/blog/index.php,删掉了定义YII_DEBUG常量的那行。这个常量在开发阶段很有用,因为当有错误发生时,它可以让Yii显示更多的调试信息。但是当应用在产品模式下运行时。显示调试信息就不再是个好主意了。因为它可能包含一些敏感的信息,比如程序的加载路径,以及文件的内容等
部署应用
最后的部署阶段主要包括复制blog目录到目标文件夹。以下的列表指出了所需的步骤
- 如果目标地址不能使用Yii的话,需要在目标地址安装Yii。
- 复制整个的blog文件夹,到目标文件夹。
- 修改入口文件index.php,把变量$yii指向新的Yii启动文件
- 修改文件 protected/yiic.php ,把变量$yiic 设为新的Yii的yiic.php文件的地址。
- 设置相关目录和protected/runtime 的访问许可,让Web服务的进程可以写入