반응형
php 8.2에 CodeIgniter v3.0.6 (Current version) 을 설치하고 session을 좀 쓰려고 하니 에러가 났습니다.
Message: Creation of dynamic property Auth::$ci is deprecated
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Auth::$ci is deprecated
Filename: libraries/Auth.php
Line Number: 9
Backtrace:
File: C:\APM\Apache24\htdocs\application\libraries\Auth.php
Line: 9
Function: _error_handler
File: C:\APM\Apache24\htdocs\application\controllers\Main.php
Line: 11
Function: library
File: C:\APM\Apache24\htdocs\index.php
Line: 315
Function: require_once
찾아보니 php 8.2 버젼부터 이런 에러가 나온다고 한다. 이전 버젼에는 없는 에러란다. ㅎㅎ
원인은 동적변수를 사용할 수 없단다.
Dynamic Properties are deprecated
Deprecated: Creation of dynamic property
이런 에러들이 난다.
해결책
/system/core/URI.php
#[\AllowDynamicProperties]
class CI_URI {
/system/core/Router.php
#[\AllowDynamicProperties]
class CI_Router {
/system/core/Loader.php
#[\AllowDynamicProperties]
class CI_Loader {
/system/core/Controller.php
#[\AllowDynamicProperties]
class CI_Controller {
/system/database/DB_driver.php
#[\AllowDynamicProperties]
abstract class CI_DB_driver {
이렇게 #[\AllowDynamicProperties] 만 클래스 앞에 추가를 하면 에러는 나지 않는다.
반응형