질문/조언팁/리소스 공유

xe_1.11.6에서 라이믹스_2.0.7 + php8로 갈아 탔습니다. 그런데 생각지도 못한 문제가 발생, 여기저기 뒤져가며 서드파티의 자료들을 php8에 맞추어 소스를 수정, 이제는 눈에 보이는 에러는 나타나지 않는군요.

 

php8에 적응하는 과정에서 애드온이 내뿜는 에러에 대처하는 방법에 대해 팁을 공유 하고자 합니다.

 

1. 가입권유 애드온

signupper/conf/info.xml의 파일에서 <addon version="0.2">인지 확인하세요. 버전에 0.2가 아니면 서버요류가 발생합니다.

<var name="*****"> 를 <var name="*****" type="text">로 교체합니다.

 

2. 통계 애드온

stats/conf/info.xml의 파일에서 <addon version="0.2">인지 확인하세요.

 

3. 스마트 패널 애드온

aa_smart_panel/aa_smart_panel.addon.php line 152 $message_count = count($member_message_list);를 아래로 교체합니다.

$message_count = is_countable($member_message_list) && count($member_message_list); 

 

4. 글쓰기 사전 동의 애드온

1). agree_with_writing/agree_with_writing.addon.php line 31 부분의

function __color_check($color)

        {

            if (preg_match('/^(?:[0-9a-fA-F]{3}){1,2}$/i', $color)) $color =  '#' . $color;

            if (!preg_match('/^#(?:[0-9a-fA-F]{3}){1,2}$/i', $color)) $color = '' ;

            return $color;

        }    

를 아래로 교체합니다.

if(function_exists('__color_check') == false ){
        function __color_check($color)
        {
            if (preg_match('/^(?:[0-9a-fA-F]{3}){1,2}$/i', $color)) $color =  '#' . $color;
            if (!preg_match('/^#(?:[0-9a-fA-F]{3}){1,2}$/i', $color)) $color = '' ;
            return $color;
        }}

 

2. agree_with_writing/agree_with_writing.addon.php, agree_with_writing.html 에서

$agree[********] 형태의 문장을 찿아 $agree['********']형태로 바꾸어 줍니다. 즉 대괄호([]) 시작과 끝에 "'"를 찍으라는 뜻입니다.