0 关注者

最终调试和部署

我们即将完成我们的博客应用程序。在部署之前,我们希望进行一些调试。

1. 更改首页

我们将使用帖子列表页面作为首页。我们修改 应用程序配置 如下所示:

return array(
    ......
    'defaultController'=>'post',
    ......
);

提示:因为 PostController 已经声明 index 为其默认操作,当我们访问应用程序的首页时,我们将看到由帖子控制器的 index 操作生成的输出。

2. 启用模式缓存

因为 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 秒有效。

3. 禁用调试模式

我们修改入口脚本文件 /wwwroot/blog/index.php,删除定义常量 YII_DEBUG 的行。此常量在开发阶段很有用,因为它允许 Yii 在发生错误时显示更多调试信息。但是,当应用程序在生产模式下运行时,显示调试信息不是一个好主意,因为它可能包含敏感信息,例如脚本文件的位置以及文件中的内容等。

4. 部署应用程序

最终的部署过程主要涉及将目录 /wwwroot/blog 复制到目标目录。以下清单显示了每个需要的步骤

  1. 如果目标位置不可用,则在目标位置安装 Yii;
  2. 将整个目录 /wwwroot/blog 复制到目标位置;
  3. 编辑入口脚本文件 index.php,将 $yii 变量指向新的 Yii 引导文件;
  4. 编辑文件 protected/yiic.php,将 $yiic 变量设置为新的 Yii yiic.php 文件;
  5. 更改目录 assetsprotected/runtime 的权限,以便 Web 服务器进程可以写入它们。

发现错别字或您认为此页面需要改进?
在 github 上编辑它 !