-
Notifications
You must be signed in to change notification settings - Fork 684
Description
What happened?
Description
Our deployment chain executes a
/srv/vhosts/craft01/craft cache/flush-all --interactive=0
before it completes (next step after craft up)
This causes the following exception:
Exception 'yii\base\UnknownMethodException' with message 'Calling unknown method: craft\console\Request::getIsSecureConnection()'
in /srv/vhosts/craft01/vendor/yiisoft/yii2/base/Component.php:300
Stack trace:
#0 /srv/vhosts/craft01/vendor/craftcms/cms/src/Craft.php(166): yii\base\Component->__call()
#1 /srv/vhosts/craft01/vendor/craftcms/cms/src/helpers/App.php(877): Craft::cookieConfig()
#2 /srv/vhosts/craft01/config/app.php(95): craft\helpers\App::sessionConfig()
#3 [internal function]: craft\services\Config->{closure}()
#4 /srv/vhosts/craft01/vendor/yiisoft/yii2/di/Container.php(633): call_user_func_array()
#5 /srv/vhosts/craft01/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->invoke()
#6 /srv/vhosts/craft01/vendor/yiisoft/yii2/di/ServiceLocator.php(137): yii\BaseYii::createObject()
#7 /srv/vhosts/craft01/vendor/yiisoft/yii2/base/Module.php(766): yii\di\ServiceLocator->get()
#8 /srv/vhosts/craft01/vendor/craftcms/cms/src/console/Application.php(158): yii\base\Module->get()
#9 /srv/vhosts/craft01/vendor/yiisoft/yii2/console/controllers/CacheController.php(275): craft\console\Application->get()
#10 /srv/vhosts/craft01/vendor/yiisoft/yii2/console/controllers/CacheController.php(116): yii\console\controllers\CacheController->findCaches()
#11 [internal function]: yii\console\controllers\CacheController->actionFlushAll()
#12 /srv/vhosts/craft01/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#13 /srv/vhosts/craft01/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#14 /srv/vhosts/craft01/vendor/yiisoft/yii2/console/Controller.php(182): yii\base\Controller->runAction()
#15 /srv/vhosts/craft01/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction()
#16 /srv/vhosts/craft01/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#17 /srv/vhosts/craft01/vendor/craftcms/cms/src/console/Application.php(89): yii\console\Application->runAction()
#18 /srv/vhosts/craft01/vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction()
#19 /srv/vhosts/craft01/vendor/yiisoft/yii2/base/Application.php(384): yii\console\Application->handleRequest()
#20 /srv/vhosts/craft01/craft(23): yii\base\Application->run()
#21 {main}
Redis is configured as explained here https://craftcms.com/docs/3.x/config/#session-component where the inital config is loaded via $config = App::sessionConfig(); and then the class gets replaced to use Redis.
I think the problem is caused by App::sessionConfig(); calling Craft::cookieConfig() calling $request->getIsSecureConnection() which does not work with console requests.
Craft CMS version
Pro 3.7.37
PHP version
7.4
Operating system and version
RHEL8
Database type and version
PostgreSQL 12.4
Image driver and version
GD 7.4.19
Installed plugins and versions
Agnostic Fetch 2.0.4
Asset Interceptor (custom) v1.1.2
Conditional Fields 0.0.6
Control Panel CSS 2.4.0
Cookies 1.1.15
Enforce password 1.0.4.2
KeyChain 1.0.3
Minify 1.2.11
Redactor 2.10.5
Relax 1.0.1
SAML Service Provider 2.7.3
SEOmatic 3.4.28
Sprig 1.12.2
SuperSort 3.1.0
Super Table 2.7.1
Typed link field 1.0.25
Vizy 1.0.12