force_rewrite 애드온 php8 대응 수정
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 8.2 |
안녕하세요.
PHP Exception: TypeError #0 "count(): Argument #1 ($value) must be of type Countable|array, null given" in addons/force_rewrite/force_rewrite.addon.php on line 187
기진곰님이 만드신건데 혹시 깃허브로 관리되고 있는게 있을까요?
기존
if (count($_SESSION['force_rewrite']) > 1000)
수정
if (isset($_SESSION['force_rewrite']) && is_array($_SESSION['force_rewrite']) && count($_SESSION['force_rewrite']) > 1000) {
이렇게해서 에러는 해결했는데 이렇게 작업해도 될런지 궁금합니다.
감사합니다.

톰캣
Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.
댓글 7
php 8.0 부터는 count() 함수의 파라미터가 셀 수 없을 경우 즉시 죽습니다.(fatal error)
is_countable() 또는 is_array() 를 통해 타입검사를 미리하고 실행해야합니다.
두분 다 답변감사합니다.
저는 아무래도 이래저래 하나씩 해결하다 결국 막혀서 안되나 봅니다.
PHP 7.4.33 로 다운그레이 시켰습니다 ㅠㅠ
수정했습니다.
저장소 경로: https://github.com/poesis/xe-force-rewrite
서버의 PHP 버전이 너무 낮거나, 예전에 더 오래된 버전에서 업데이트하면서 이상한 설정 찌꺼기가 남아 있는 경우 예상치 못한 버그가 나타날 가능성은 있습니다. 한번 실험해 보시고 혹시 에러나면 지우세요.^^