-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Description
CodeIgniter version: 4.3.2
See #4297 (comment)
--- a/app/Config/App.php
+++ b/app/Config/App.php
@@ -442,4 +442,11 @@ class App extends BaseConfig
* @see http://www.w3.org/TR/CSP/
*/
public bool $CSPEnabled = false;
+
+ public function __construct()
+ {
+ parent::__construct();
+
+ session();
+ }
}
$ php spark
PHP Fatal error: Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '256' frames in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Factories.php:98
Stack trace:
#0 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Factories.php(98): array_shift(Array)
#1 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Common.php(216): CodeIgniter\Config\Factories::__callStatic('config', Array)
#2 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseConfig.php(62): config('Modules')
#3 /Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/App.php(448): CodeIgniter\Config\BaseConfig->__construct()
#4 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Factories.php(129): Config\App->__construct()
#5 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Common.php(216): CodeIgniter\Config\Factories::__callStatic('config', Array)
#6 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(644): config('App')
#7 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(252): CodeIgniter\Config\Services::session(NULL, false)
#8 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(193): CodeIgniter\Config\BaseService::__callStatic('session', Array)
#9 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(641): CodeIgniter\Config\BaseService::getSharedInstance('session', NULL)
#10 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(252): CodeIgniter\Config\Services::session()
#11 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Common.php(988): CodeIgniter\Config\BaseService::__callStatic('session', Array)
#12 /Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/App.php(450): session()
#13 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Factories.php(129): Config\App->__construct()
#14 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Common.php(216): CodeIgniter\Config\Factories::__callStatic('config', Array)
#15 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(644): config('App')
#16 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(252): CodeIgniter\Config\Services::session(NULL, false)
#17 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(193): CodeIgniter\Config\BaseService::__callStatic('session', Array)
#18 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(641): CodeIgniter\Config\BaseService::getSharedInstance('session', NULL)
#19 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(252): CodeIgniter\Config\Services::session()
#20 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Common.php(988): CodeIgniter\Config\BaseService::__callStatic('session', Array)
#21 /Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/App.php(450): session()
#22 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Factories.php(129): Config\App->__construct()
...
Activity
kenjis commentedon Feb 26, 2023
#7255 will fixes the infinite loop.
But I get another error:
[-]Bug: cannot use session in Config\App[/-][+]Bug: cannot use Session in Config\App[/+]kenjis commentedon Feb 27, 2023
No good. I can't get out of the dependency hell.
The Session depends on a Session driver. This is no problem.
The Session driver creation depends on a Request (
AppServices::request()->getIPAddress()
).The IncomingRequest depends on
Config\App
!Since
IncomingRequest
depends onConfig\App::$supportedLocales
, splittingConfig\App
does not solve this problem.kenjis commentedon Oct 24, 2023
Using Session in Config\App is a misuse. This means using personalized values in Config.
But Config values should be the values for the system, not for a site visitor.