Yii2.0.55错误处理配置教程【异常捕获】

秋静大大_9120

秋静大大_9120

2026-08-07

959人浏览

原创

yii2.0.55需配置errorhandler组件实现异常自动跳转、日志记录与环境区分:在/config/web.php中配置'errorhandler'并置于'urlmanager'前,定义erroraction路由;复用yiiweberroraction类,创建对应error.php、error-404.php、error-500.php视图;设置yii_debug与yii_env开关,配置log组件写入runtime/logs,确保目录可写且不可web访问;最后通过抛异常验证跳转与日志。

yii2.0.55错误处理配置教程【异常捕获】

Yii2.0.55错误处理配置教程【异常捕获】需要让未捕获异常自动跳转到友好页面、记录日志、区分开发与生产环境响应,同时避免调试信息泄露、静态资源路径错乱导致的错误页白屏或404。

配置errorHandler组件

打开/config/web.php,在'components'数组中添加或确认存在以下配置:

'errorHandler' => [
  'errorAction' => 'site/error',
  'maxSourceLines' => 15,
  'maxTraceString' => 512
],

这一步必须放在'urlManager'之前,否则errorAction路由无法被正确解析;若站点使用自定义控制器(如ErrorController),则'errorAction'需改为'error/error',且确保该控制器继承yiiwebController

创建SiteController的error动作

进入/controllers/SiteController.php,在public function actions()方法内加入'error'项:

public function actions()
{
  return [
    'error' => ['class' => 'yiiwebErrorAction'],
  ];
}

注意:【不要手动写actionError()方法】,直接复用yiiwebErrorAction类即可——它已内置对404500等状态码的识别与视图分发逻辑,手写反而会绕过框架异常捕获链。

准备错误视图文件

/views/site/目录下创建三个必需文件:

Yii Framework 2.0.51
Yii Framework 2.0.51

Yii Framework 2.0.51 官方 Basic 应用模板,适合旧项目兼容、升级验证和开发测试。

下载

error.php:通用错误页,用于非特定HTTP状态码的异常;
error-404.php:仅当exception instanceof yiiwebNotFoundHttpException时渲染;
error-500.php:专用于服务器内部错误(如数据库连接失败、PHP致命错误)。

这三个文件名必须严格匹配,大小写不可错,否则ErrorAction找不到对应视图,直接返回空白页;视图中可通过$exception变量获取异常对象,例如= $exception->getMessage() ?>,但【生产环境禁止输出$exception->getTraceAsString()】,否则敏感路径和数据库凭证可能暴露。

设置环境开关与日志路径

第一步:确认/web/index.php顶部两行已设为:

defined('YII_DEBUG') or define('YII_DEBUG', false);
defined('YII_ENV') or define('YII_ENV', 'prod');

第二步:检查/config/main.php'log'组件是否启用,并确保targets包含file类型:

'log' => [
  'traceLevel' => YII_DEBUG ? 3 : 0,
  'targets' => [
    [
      'class' => 'yii\log\FileTarget',
      'levels' => ['error', 'warning'],
      'logFile' => '@runtime/logs/app.log'
    ]
  ],
],

第三步:执行chmod -R 755 runtime/logs,否则日志写入失败,错误将无迹可查;【runtime目录必须可写,且不能被Web直接访问】,宝塔面板中需关闭该目录的“防跨站攻击”或显式设置open_basedir排除/www/wwwroot/your-site/runtime

验证异常触发路径

① 临时修改/controllers/SiteController.php中任意一个action,末尾加一行throw new Exception('test error');
② 访问对应URL,观察是否跳转至/site/error且页面显示“test error”;
③ 查看/runtime/logs/app.log,确认最新一条日志含[error][application]前缀及完整堆栈;
④ 将YII_DEBUG改回false,刷新页面——此时应只显示通用错误提示,不出现代码行号或变量dump。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

869

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2300

5

PHP Yii框架专题
PHP Yii框架专题

本专题专注于PHP主流框架Yii的应用,系统讲解MVC架构、路由机制、数据库操作、表单处理、安全验证与RESTful API 开发等核心内容。通过电商网站、后台管理系统与内容管理平台等实战项目,帮助学员快速掌握Yii框架的开发技巧与实战经验。

2025.09.04

2750

22

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

2026.09.22

0

25

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

20

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

0

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

2026.09.21

0

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Yii Framework 2.0 API 官方文档
Yii Framework 2.0 API 官方文档

共0课时 | 0人学习

Yii2.0框架开发实战视频教程
Yii2.0框架开发实战视频教程

共22课时 | 9.2万人学习