我们即将完成我们的博客应用程序。在部署之前,我们希望进行一些调试。
我们将使用帖子列表页面作为首页。我们修改 应用程序配置 如下所示:
return array(
......
'defaultController'=>'post',
......
);
提示:因为
PostController
已经声明index
为其默认操作,当我们访问应用程序的首页时,我们将看到由帖子控制器的index
操作生成的输出。
因为 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 来修改 db
组件,这意味着解析的数据库模式数据可以在缓存中保持 3600 秒有效。
我们修改入口脚本文件 /wwwroot/blog/index.php
,删除定义常量 YII_DEBUG
的行。此常量在开发阶段很有用,因为它允许 Yii 在发生错误时显示更多调试信息。但是,当应用程序在生产模式下运行时,显示调试信息不是一个好主意,因为它可能包含敏感信息,例如脚本文件的位置以及文件中的内容等。
最终的部署过程主要涉及将目录 /wwwroot/blog
复制到目标目录。以下清单显示了每个需要的步骤
/wwwroot/blog
复制到目标位置;index.php
,将 $yii
变量指向新的 Yii 引导文件;protected/yiic.php
,将 $yiic
变量设置为新的 Yii yiic.php
文件;assets
和 protected/runtime
的权限,以便 Web 服务器进程可以写入它们。发现错别字或您认为此页面需要改进?
在 github 上编辑它 !
注册 注册 或 登录 以发表评论。