새로 가입한 네트워크 엔지니어로서 서버와 개발쪽은 잘 모릅니다만,

주변 상황에 떠밀려, 그나마 제가 다른 사람보다 아는게 좀 있지않겠냐 하여 지식도 없이 덜컥 떠맡아 수정중입니다.

 

기존 구 XE에서 데이터를 가져오는건 엄두도 못내고, 일단 꼭 쓸 몇몇 플러그인만 새로 가져오고,

새 버전의 라이믹스 사이트로 다시 만드는 쪽으로 하려합니다.

 

우선 라이믹스 php 8.3에  새로 설치하여 몇몇 플러그인들을 기존의 검색을 해가면서 수정했습니다만,

두개의 서드파티 플러그인은 이해가 될듯 말듯 하여 참 여러가지로 삽질하다가 먼저 한가지 도움을 요청드립니다.

 

사용버전

라이믹스 : 2.1.12

PHP : 8.3

 

문제된 서드파티

모듈 : 이미지 프로세스

버전 : 2.1.1.1

제작자 : 카르마

용도 : 이미지를 축소하고 워터마크와 로고를 넣어주는 모듈입니다.

 

관리자로그인 후 설치된 모듈 항목에서 해당 이미지 프로세스를 예전 사이트에 있던걸 가져오니

"이 항목 업데이트가 가능합니다. 업데이트하시겠습니까?" 로 표기가 나와 업데이트를 누르면

 

서버 오류 Error #0 "Attempt to assign property "resize_use" on null" in modules/imageprocess/imageprocess.class.php on line 74


라는 에러를 보내기에, 해당 부분을 확인해봤습니다만, 제가 아는 지식으로는 어딜 손대야 할지 모르겠네요.

 

            $ipConfig = $oldconfig;
            $ipConfig->water_quality = '100';
        }
                elseif($oldconfig)
                {
                        $ipConfig = $oldconfig;
                }
                else
                {
                        $ipConfig->resize_use = 'N';   <<--- 74번째 라인입니다.
                        $ipConfig->resize_width = '760';
                        $ipConfig->original_store ='N';
                        $ipConfig->resize_quality = '80';
                        $ipConfig->minimum_width = '300';
                        $ipConfig->watermark_use = 'N';
                        $ipConfig->magic_use = 'N';
                        $ipConfig->watermark = '';
                        $ipConfig->water_quality = '100';
                        $ipConfig->water_position ='RB';
                        $ipConfig->store_mid = '';
                        $ipConfig->water_mid = '';
                        $ipConfig->target_mid = '';
                        $ipConfig->store_path = '';
                        $ipConfig->down_group = '';
                        $ipConfig->xmargin = 10;
                        $ipConfig->ymargin = 10;
                        $ipConfig->ext = 'jpg;png';
                        $ipConfig->logo_ext = 'jpg;png';
                }

 

지식없이는 php8.3은 무리고 그냥 호환성 정보가 다 있는 php7.4에 머물러 있어야 하는지도 모르겠지만. 이 2개만 넘기면 일단 필요한 모듈들은 거의 다 완료가 되는 것 같기에, 염치 불구하고 도움을 받아서라도 8.3으로 진행해보려 합니다.

  • ?
    $ipConfig->resize_use = 'N';
    위에다가
    $ipConfig = new stdClass();
    를 추가하면 될려나요?
  • ?

    말씀대로 하니 해당 파트는 넘어갔습니다. 그런데 아래에서 비슷한 에러가 또 나네요.

     

    Error #0 "Attempt to modify property "list" on null" in modules/imageprocess/imageprocess.admin.view.php on line 56

    modules/imageprocess/imageprocess.admin.view.php:56 

     

    혹시나 해서 

    $module_categories = new stdClass();

    를 위에 넣어봤습니다만 이거론 안돼는군요.

     

    문제되는 부분 첨부 드립니다.

                   // module_category와 module의 조합
                    if(!$site_module_info->site_srl)
                    {
                            // 모듈 카테고리 목록을 구함
                            $module_categories = $oModuleModel->getModuleCategories();

                            if($mid_list)
                            {
                                    foreach($mid_list as $module_srl => $module)
                                    {
                                            $module_categories[$module->module_category_srl]->list[$module_srl] = $module; <<- 56번째 문제되는 라인입니다.
                                    }
                            }
                    }
                    else
                    {
                            $module_categories[0]->list = $mid_list;
                    }

                    Context::set('mid_list',$module_categories);
                    Context::set('group_list', $this->group_list);

     

     

  • ? profile

    문제되는 라인 위에

    if (!isset($module_categories[$module->module_category_srl]))
    {
        $module_categories[$module->module_category_srl] = new stdClass();
    }

    이렇게 넣어 보세요.

  • profile ?

    말씀주신 방법으로 잘 처리 되었습니다. 감사합니다. 동일한 코드를 쓴 부분이 하나 더 있어서 그것도 그대로 같이 수정하니 잘 동작합니다. 

    sejin7940님 기진곰님 다시한번 도움에 감사드립니다.