main.php 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. $params = array_merge(
  3. require(__DIR__.'/../../common/config/params.php'),
  4. require(__DIR__.'/../../common/config/params-local.php'),
  5. require(__DIR__.'/params.php'),
  6. require(__DIR__.'/params-local.php')
  7. );
  8. return [
  9. 'id' => 'app-server',
  10. // 设置时区,查看php 支持的所支持的时区列表 :http://www.php.net/manual/zh/timezones.php
  11. 'timeZone' => 'Asia/Shanghai',
  12. 'basePath' => dirname(__DIR__),
  13. //'bootstrap' => ['log'],
  14. 'controllerNamespace' => 'appserver\controllers',
  15. 'modules' => $modules,
  16. //'bootstrap' => ['assetsAutoCompress'],
  17. // 自定义组件
  18. 'components' => [
  19. /*
  20. 'assetsAutoCompress' =>
  21. [
  22. 'class' => '\skeeks\yii2\assetsAuto\AssetsAutoCompressComponent',
  23. 'enabled' => true,
  24. 'jsCompress' => true,
  25. 'cssFileCompile' => true,
  26. 'jsFileCompile' => true,
  27. ],
  28. */
  29. 'session' => [
  30. /*
  31. * // use mongodb for session.
  32. * 'class' => 'yii\mongodb\Session',
  33. * 'db' => 'mongodb',
  34. * 'sessionCollection' => 'session',
  35. */
  36. 'class' => 'yii\redis\Session',
  37. 'timeout' => 86400 * 7,
  38. 'keyPrefix' => 'appserver_session',
  39. 'redis' => [
  40. 'database' => 9,
  41. ],
  42. ],
  43. 'cache' => [
  44. /*
  45. * // use mongodb for cache.
  46. * 'class' => 'yii\mongodb\Cache',
  47. */
  48. 'class' => 'yii\redis\Cache',
  49. 'keyPrefix' => 'appserver_cache',
  50. 'redis' => [
  51. 'database' => 10,
  52. ],
  53. ],
  54. 'log' =>[
  55. # 追踪级别
  56. # 消息跟踪级别
  57. # 在开发的时候,通常希望看到每个日志消息来自哪里。这个是能够被实现的,通过配置 log 组件的 yii\log\Dispatcher::traceLevel 属性, 就像下面这样:
  58. 'traceLevel' => 3,
  59. # 通过 yii\log\Logger 对象,日志消息被保存在一个数组里。为了这个数组的内存消耗, 当数组积累了一定数量的日志消息,日志对象每次都将刷新被记录的消息到 log targets 中。 你可以通过配置 log 组件的 yii\log\Dispatcher::flushInterval 属性来自定义数量
  60. 'flushInterval' => 1,
  61. 'targets' => [
  62. 'file' =>[
  63. //'levels' => ['trace'],
  64. 'categories' => ['fecshop_debug'],
  65. 'class' => 'yii\log\FileTarget',
  66. # 当 yii\log\Logger 对象刷新日志消息到 log targets 的时候,它们并 不能立即获取导出的消息。相反,消息导出仅仅在一个日志目标累积了一定数量的过滤消息的时候才会发生。你可以通过配置 个别的 log targets 的 yii\log\Target::exportInterval 属性来 自定义这个数量,就像下面这样:
  67. 'exportInterval' => 1,
  68. # 输出文件
  69. 'logFile' => '@appserver/runtime/fecshop_logs/fecshop_debug.log',
  70. # 你可以通过配置 yii\log\Target::prefix 的属性来自定义格式,这个属性是一个PHP可调用体返回的自定义消息前缀
  71. 'prefix' => function ($message) {
  72. return $message;
  73. },
  74. # 除了消息前缀以外,日志目标也可以追加一些上下文信息到每组日志消息中。 默认情况下,这些全局的PHP变量的值被包含在:$_GET, $_POST, $_FILES, $_COOKIE,$_SESSION 和 $_SERVER 中。 你可以通过配置 yii\log\Target::logVars 属性适应这个行为,这个属性是你想要通过日志目标包含的全局变量名称。 举个例子,下面的日志目标配置指明了只有 $_SERVER 变量的值将被追加到日志消息中。
  75. # 你可以将 logVars 配置成一个空数组来完全禁止上下文信息包含。或者假如你想要实现你自己提供上下文信息的方式, 你可以重写 yii\log\Target::getContextMessage() 方法。
  76. 'logVars' => [],
  77. ],
  78. ],
  79. ],
  80. 'user' => [
  81. // 'class' => 'fecshop\yii\web\User',
  82. // 【默认】不开启速度限制的 User Model
  83. 'identityClass' => 'fecshop\models\mysqldb\Customer',
  84. // 开启速度限制的 User Model
  85. // 'identityClass' => 'fecshop\models\mysqldb\customer\CustomerAccessToken',
  86. ],
  87. ],
  88. // 自定义参数
  89. 'params' => $params,
  90. ];