Yii2自定义errorHandler组件

时间:2017-01-12 16:37:03

标签: php error-handling yii2

我需要覆盖yii\web\ErrorHandler的一些函数并创建子类api\components\ErrorHandler

api/config/main.php中配置应用:

`...
 'errorHandler' => [
   'class' => \api\components\ErrorHandler::class,
 ],
 ...`

nginx 日志错误:

FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught exception 'ReflectionException' with message 'Class api\components\ApiErrorHandler does not exist' in path/yii/vendor/yiisoft/yii2/di/Container.php:415

1 个答案:

答案 0 :(得分:2)

如果你正在使用yii/app-advanced,你需要让yii知道命名空间根源的位置。
将以下行添加到common/config/bootstrap

Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api'); // add api alias

否则请仔细检查您的文件夹结构,文件和类名