제목 | CI3.0 & PHP7.2 환경에서 mcrypt_create_iv() is deprecated 오류가 발생합니다. | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 마프 | 작성시각 | 2018/09/30 17:20:27 |
|
|||
안녕하세요. 사이트 구축중에 CI3.0 & PHP7.2 환경에서 mcrypt_create_iv() is deprecated 오류가 발생해서 확인해본 결과 아무래도 PHP 7.2 에서 mcrypt_create_iv 함수가 random_bytes 라는 함수로 대체 된걸로 확인했는데 혹시 CI 3.x 버전에서 해당 내용이 패치된 버전이 있을까요? 아니면 PHP 7.0 버전으로 환경을 바꿔야 할까요? 관련 경험이 있으신분 있으시면 어떻게 해결하셨는지 조언좀 부탁드리겠습니다.
|
|||
다음글 | .phpstorm_helpers 폴더가 서버의 root... (1) | ||
이전글 | 개인공부용 웹 사이트 디자인 어떻게 만들까요 ? (2) | ||
kaido
/
2018/09/30 21:06:19 /
추천
0
|
jebum
/
2018/10/02 10:43:55 /
추천
0
아마 (Deprecated)Encrypt Class를 사용하고 계신것 같습니다. (https://codeigniter.com/user_guide/libraries/encrypt.html) $this->load->library('encrypt') // Deprecated Mcrypt를 사용하기때문에 더이상 작동되지 않습니다. 새로운 Encryption 라이브러리로 대체 적용하시면 정상작동 됩니다. https://codeigniter.com/user_guide/libraries/encryption.html |
CI 하고는 무관하게 mcrypt 암호 함수는 오래된 함수로 10년전 부터 없앤다고 권고 하였고, 대체된 최신 암호화가 이미 10년전 부터 있었습니다.
PHP7.0에서는 경고 메세지만 나타났고,
PHP7.1에서는 곧 삭제된다고 경고 무시를 붙이지 않으면 실행이 안되었고,
PHP7.2 에서 완전히 삭제되어서 PHP7.2 에서 전혀 사용할 수 없습니다.
PHP 버전은 7.1로 낮추시고 해당 암호화 함수 코어 부분에 가서 @ 붙여서 에러리포트 무시를 하시면 사용은 가능 합니다.
다만 앞날을 생각 하면 대체 함수로 대체 하시는게 좋습니다.
현재 릴리즈된 CI4 에서는 PHP7.2 를 기준으로 과거 암호화 함수를 사용하지 않습니다.