yii 配置文件main.php

二、主配置文件
保存位置:你的应用/protected/config/main.php
文件内容:一般格式如下:
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', //当前应用根目录的绝对物理路径
'name'=>'Yii Blog Demo', //当前应用的名称
// 预载入log(记录)应用组件,这表示该应用组件无论它们是否被访问都要被创建。该应用的参数配置在下面以
“components”为关键字的数组中设置。
'preload'=>array('log'), //log 为组件ID
// 自动载入的模型和组件类
'import'=>array(
'application.models.*', //载入“application/models/”文件夹下的所有模型类
'application.components.*', //载入“application/components/”文件夹下的所有应用组件类
),
'defaultController'=>'post', //设置默认控制器类
// 当前应用的组件配置。更多可供配置的组件详见下面的“核心应用组件”
'components'=>array(
'user'=>array( //user(用户)组件配置,“user”为组件ID
// 可以使用基于cookie 的认证
'allowAutoLogin'=>true, //允许自动登录
),
'cache'=>array( //缓存组件
'class'=>'CMemCache', //缓存组件类
'servers'=>array( //MemCache 缓存服务器配置
array('host'=>'server1', 'port'=>11211, 'weight'=>60), //缓存服务器1
array('host'=>'server2', 'port'=>11211, 'weight'=>40), //缓存服务器2
),
),
'db'=>array( //db(数据库)组件配置,“db”为组件ID
'connectionString' => 'sqlite:protected/data/blog.db', //连接数据库的DSN 字符串
'tablePrefix' => 'tbl_', //数据表前缀
),
// 如果要使用一个MySQL 数据库,请取消下面的注释
/*
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=blog', //连接mysql 数据库
'emulatePrepare' => true,
'username' => 'root', //MySQL 数据库用户名
'password' => '', //MySQL 数据库用户密码
'charset' => 'utf8', //MySQL 数据库编码
'tablePrefix' => 'tbl_', //MySQL 数据库表前缀
),
*/
'errorHandler'=>array(
// 使用SiteController 控制器类中的actionError 方法显示错误
'errorAction'=>'site/error', //遇到错误时,运行的操作。控制器名和方法名均小写,并用斜线“/”隔开
),
//URL 路由管理器
'urlManager'=>array(
'urlFormat'=>'path', //URL 格式。共支持两种格式: 'path' 格式( 如:
/path/to/EntryScript.php/name1/value1/name2/value2... ) 和'get' 格式( 如:
/path/to/EntryScript.php?name1=value1&name2=value2...)。当使用'path'格式时,需要设置如下的规则:
'rules'=>array( //URL 规则。语法:<参数名:正则表达式>
'post//'=>'post/view', //将post/12/helloword 指向post/view?id=12&title=helloword
'posts/'=>'post/index', //将posts/hahahaha 指向post/index?tag=hahahaha
'/'=>'/',
),
),
'log'=>array( //记录
'class'=>'CLogRouter', //处理记录信息的类
'routes'=>array(
array(
'class'=>'CFileLogRoute', //处理错误信息的类
'levels'=>'error, warning', //错误等级
),
// 如要将错误记录消息在网页上显示,取消下面的注释即可
/*
array(
'class'=>'CWebLogRoute',
),
*/
),
),
), //应用组件配置结束
// 使用Yii::app()->params['参数名']可以访问应用层的参数
'params'=>require(dirname(__FILE__).'/params.php'),
);
核心应用组件:
Yii 预定义了一系列核心应用组件,提供常见Web 应用中所用的功能。例如, request 组件用于解析用户请求并提
供例如URL,cookie 等信息。通过配置这些核心组件的属性,我们可以几乎任意的修改Yii 的默认行为。
下面我们列出了由CWebApplication 预定义的核心组件。
assetManager: CAssetManager - 管理私有资源文件的发布。
authManager: CAuthManager - 管理基于角色的访问控制(RBAC).
cache: CCache - 提供数据缓存功能。注意,你必须指定实际的类(例如CMemCache, CDbCache)。否则,当你访问此
组件时将返回NULL。
clientScript: CClientScript - 管理客户端脚本(javascripts 和CSS).
coreMessages: CPhpMessageSource - 提供Yii 框架用到的核心信息的翻译。
db: CDbConnection - 提供数据库连接。注意,使用此组件你必须配置其connectionString 属性。
errorHandler: CErrorHandler - 处理未捕获的PHP 错误和异常。
format: CFormatter - 格式化数值显示。此功能从版本1.1.0 起开始提供。
messages: CPhpMessageSource - 提供Yii 应用中使用的信息翻译。
request: CHttpRequest - 提供关于用户请求的信息。
securityManager: CSecurityManager - 提供安全相关的服务,例如散列,加密。
session: CHttpSession - 提供session 相关的功能。
statePersister: CStatePersister - 提供全局状态持久方法。
urlManager: CUrlManager - 提供URL 解析和创建相关功能
user: CWebUser - 提供当前用户的识别信息。
themeManager: CThemeManager - 管理主题。
要访问一个应用组件,使用Yii::app()->组件的ID

转载于:https://my.oschina.net/luqiuren666/blog/731195

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`console.php`是Yii框架中的一个命令行脚本,用于执行各种命令和任务,如数据库迁移、生成代码等。在Yii2中,`console.php`被用于运行控制台应用程序,这些应用程序通常用于处理后台任务、定时任务、计划任务等。 在Yii2中,您可以使用`yii`命令来运行`console.php`脚本,如下所示: ``` php /path/to/your/yii-application/yii <command> ``` 其中,`/path/to/your/yii-application/`是您的Yii应用程序的路径,`<command>`是要执行的命令。例如,要运行数据库迁移命令,可以使用以下命令: ``` php /path/to/your/yii-application/yii migrate ``` 除了运行命令,您还可以使用Yii2的Console应用程序来设置定时任务。定时任务是指在指定的时间间隔内自动执行的任务。要创建定时任务,您需要执行以下步骤: 1. 创建一个继承自`yii\console\Controller`类的控制器,该控制器将处理定时任务的逻辑。 2. 在`console/config/main.php`配置文件中配置一个名为`cron`的组件,该组件将设置定时任务的时间表。 3. 在服务器上设置一个计划任务(cron job),以在指定的时间间隔内运行Yii2的console应用程序。 下面是一个简单的示例,演示如何使用Yii2的Console应用程序设置定时任务: 1. 创建一个名为`TestController`的控制器,用于处理定时任务的逻辑: ```php <?php namespace app\commands; use yii\console\Controller; class TestController extends Controller { public function actionIndex() { echo "This is a test command\n"; } } ``` 2. 在`console/config/main.php`配置文件中配置一个名为`cron`的组件,该组件将设置定时任务的时间表: ```php <?php return [ // ... 'components' => [ // ... 'cron' => [ 'class' => 'yii\console\CronController', 'schedule' => [ '* * * * *' => ['test/index'], // 每分钟执行一次TestController的index动作 ], ], ], ]; ``` 在上面的配置中,我们创建了一个名为`cron`的组件,它是`yii\console\CronController`的一个实例。`'schedule'`属性包含一个时间表数组,该数组指定了要运行的控制器操作和它们的执行时间。 在上面的示例中,我们设置了一个时间表,每分钟执行一次`TestController`控制器的`index`操作。 3. 在服务器上设置一个计划任务(cron job),以在指定的时间间隔内运行Yii2的console应用程序。 在Linux环境中,您可以使用`crontab`命令来设置计划任务。要设置一个计划任务,您需要打开终端并输入以下命令: ``` crontab -e ``` 这将打开一个文本编辑器,在其中输入以下内容: ``` * * * * * /usr/bin/php /path/to/your/yii-application/yii cron/run >> /dev/null 2>&1 ``` 其中,`/usr/bin/php`是PHP解释器的路径,`/path/to/your/yii-application/`是您的Yii应用程序的路径。`cron/run`是您要运行的控制器操作。`>> /dev/null 2>&1`将输出重定向到`/dev/null`,以避免将输出写入日志文件。 这将在每分钟运行一次Yii2的Console应用程序,并执行指定的控制器操作。 希望这个示例可以帮助您理解如何使用Yii2的Console应用程序设置定时任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值