没有不值得去解决的问题,也没有不值得去学习的技术!

Error in Yii 2.0: Exception ‘yii\base\InvalidConfigException’ with message ‘Unable to locate message source for category ‘error’.’

在 Yii 2.0 中报错:Exception 'yii\base\InvalidConfigException' with message 'Unable to locate message source for category 'error'.'。

1. In Yii 2.0, an error occurs: Exception ‘yii\base\InvalidConfigException’ with message ‘Unable to locate message source for category ‘error’.’. As shown in Figure 1

In Yii 2.0, an error occurs: Exception 'yii\base\InvalidConfigException' with message 'Unable to locate message source for category 'error'.'.
Figure 1
Plaintext
PS E:\wwwroot\ccp_api_dev_new> ./yii callback/index --appconfig=ccp/config/console.php
Exception 'yii\base\InvalidConfigException' with message 'Unable to locate message source for category 'error'.'

in E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\i18n\I18N.php:201

Stack trace:
#0 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\i18n\I18N.php(89): yii\i18n\I18N->getMessageSource('error')
#1 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\BaseYii.php(538): yii\i18n\I18N->translate('error', '205064', Array, 'zh-CN')
#2 E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php(261): yii\BaseYii::t('error', '205064')
#3 E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php(274): common\services\ChannelAppTaskService::findModelByUuid('888')
#4 E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php(584): common\services\ChannelAppTaskService::findModelPublishByUuid('888')
#5 E:\wwwroot\ccp_api_dev_new\ccp\commands\CallbackController.php(16): common\services\ChannelAppTaskService::crontabVttHandler(Array)
#6 E:\wwwroot\ccp_api_dev_new\ccp\commands\CallbackController.php(62): ccp\commands\CallbackController->start()
#7 [internal function]: ccp\commands\CallbackController->actionIndex()
#8 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#9 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#10 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Controller.php(184): yii\base\Controller->runAction('index', Array)
#11 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Module.php(534): yii\console\Controller->runAction('index', Array)
#12 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Application.php(181): yii\base\Module->runAction('callback/index', Array)
#13 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Application.php(148): yii\console\Application->runAction('callback/index', Array)
#14 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Application.php(392): yii\console\Application->handleRequest(Object(yii\console\Request))
#15 E:\wwwroot\ccp_api_dev_new\yii(23): yii\base\Application->run()
#16 {main}

2. Edit ccp/config/console.php to add the component: i18n

PHP
    'components' => [
		'i18n' => [
			'translations' => [
				'*' => [
					'class' => 'yii\i18n\PhpMessageSource',
					'forceTranslation' => true,
					'basePath' => '@app/messages',
					'fileMap' => [
						'application' => 'application.php',
						'error' => 'error.php',
						'success' => 'success.php',
					],
				],
			],
		],
    ]

3. Run the command line again, and an error occurs: Exception ‘yii\web\NotFoundHttpException’ with message ‘205064’. As shown in Figure 2

Run the command line again, and an error occurs: Exception 'yii\web\NotFoundHttpException' with message '205064'.
Figure 2
Plaintext
PS E:\wwwroot\ccp_api_dev_new> ./yii callback/index --appconfig=ccp/config/console.php
Exception 'yii\web\NotFoundHttpException' with message '205064'

in E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php:261

Stack trace:
#0 E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php(274): common\services\ChannelAppTaskService::findModelByUuid('888')
#1 E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php(584): common\services\ChannelAppTaskService::findModelPublishByUuid('888')
#2 E:\wwwroot\ccp_api_dev_new\ccp\commands\CallbackController.php(16): common\services\ChannelAppTaskService::crontabVttHandler(Array)
#3 E:\wwwroot\ccp_api_dev_new\ccp\commands\CallbackController.php(62): ccp\commands\CallbackController->start()
#4 [internal function]: ccp\commands\CallbackController->actionIndex()
#5 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#6 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#7 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Controller.php(184): yii\base\Controller->runAction('index', Array)
#8 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Module.php(534): yii\console\Controller->runAction('index', Array)
#9 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Application.php(181): yii\base\Module->runAction('callback/index', Array)
#10 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Application.php(148): yii\console\Application->runAction('callback/index', Array)
#11 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Application.php(392): yii\console\Application->handleRequest(Object(yii\console\Request))
#12 E:\wwwroot\ccp_api_dev_new\yii(23): yii\base\Application->run()
#13 {main}

4. Create a new directory, /ccp/messages. The contents of the file /ccp/messages/zh-CN/error.php are as follows. As shown in Figure 3

Create a new directory, /ccp/messages. The contents of the file /ccp/messages/zh-CN/error.php are as follows.
Figure 3
PHP
<?php
$commonMessages = require __DIR__ . '/../../../common/messages/zh-CN/error.php';
$messages = [
];
return $commonMessages + $messages;
 

5. Run the command line again. The execution result meets expectations, and no further errors occur. As shown in Figure 4

Run the command line again. The execution result meets expectations, and no further errors occur.
Figure 4
Plaintext
PS E:\wwwroot\ccp_api_dev_new> ./yii callback/index --appconfig=ccp/config/console.php
Exception 'yii\web\NotFoundHttpException' with message '渠道的应用的任务UUID:888,不存在'

in E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php:261

Stack trace:
#0 E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php(274): common\services\ChannelAppTaskService::findModelByUuid('888')
#1 E:\wwwroot\ccp_api_dev_new\common\services\ChannelAppTaskService.php(584): common\services\ChannelAppTaskService::findModelPublishByUuid('888')
#2 E:\wwwroot\ccp_api_dev_new\ccp\commands\CallbackController.php(16): common\services\ChannelAppTaskService::crontabVttHandler(Array)
#3 E:\wwwroot\ccp_api_dev_new\ccp\commands\CallbackController.php(62): ccp\commands\CallbackController->start()
#4 [internal function]: ccp\commands\CallbackController->actionIndex()
#5 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#6 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#7 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Controller.php(184): yii\base\Controller->runAction('index', Array)
#8 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Module.php(534): yii\console\Controller->runAction('index', Array)
#9 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Application.php(181): yii\base\Module->runAction('callback/index', Array)
#10 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\console\Application.php(148): yii\console\Application->runAction('callback/index', Array)
#11 E:\wwwroot\ccp_api_dev_new\vendor\yiisoft\yii2\base\Application.php(392): yii\console\Application->handleRequest(Object(yii\console\Request))
#12 E:\wwwroot\ccp_api_dev_new\yii(23): yii\base\Application->run()
#13 {main}

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系