질문 Q #22463
php7.2 upgrade 후 redis 연동 문제
숀화이트 2020-06-15 11:40:48

php5.6 , codeigniter3 버전으로 기존에 redis 연동하여 사용하고있었습니다.

이번에 php7.2 버전 upgrade 후 아래와 같은 에러메시지가 뜨며 연동이 안됩니다.

codeigniter 라이브러리가 아닌 $redis = new Redis(); 이런식으론 연동됩니다. 

아래와 같은 에러가 나며

Severity: Warning

Message: Redis::__construct() expects exactly 0 parameters, 1 given

Filename: core/Loader.php

Line Number: 1284

 

Loader 1284 라인은 아래 라인입니다....

1283: $CI->$object_name = isset($config)

1284: ? new $class_name($config)

1285:  : new $class_name();

 

어떤게 문제인지 모르곘습니다...

autoload 로 해도 에러가 나고 libraries load로 해도 동일한 에러가 납니다.

도움 부탁드립니다.

 

감사합니다.  

답변 6
#1 한대승(불의회상) 2020-06-15 12:04:02

codeigniter3 정확한 버전은 어떻게 될까요?

3.1.11 버전 이하 버전이라면 업그레이드한 후 테스트 하시길 추천드립니다.

#2 숀화이트 2020-06-15 13:18:26

3.1.11 버전입니다.

죄송하지만 혹시 버전 업그레이드 하는 방법을 알 수 있을까요 ?!

3버전대는 3.1.11이 최신버전인데 그렇다면 4버전으로 올려야 하는건가요 ?!

#3 숀화이트 2020-06-15 16:48:11

libraries 에 Redis.php 가 아닌 다른 이름으로 class 만들고 ex)test.php

로 autoload 하니 로드되고 그안에 redis 코드 넣고 호출 하니 잘되네요 -_-;

 

#4 한대승(불의회상) 2020-06-15 18:20:35
@숀화이트 클래스명이 충돌했나보군요. ^^
#5 숀화이트 2020-06-16 10:51:14

뭐 지금처럼 하면 되긴 하지만 좀 찝찝하긴 하네요 CI_Redis 로 class 만들고 redis.php 로 했을때 어떤것과 충돌이 나는걸까요 ?!

폴더 안에 어디에도 redis.php 파일은 존재하지 않는데 말이죠...

#6 한대승(불의회상) 2020-06-16 11:15:57
redis 확장과 충돌한것 같은데요.