[XE] 흰 페이지만 보일 때 && 1.5 버젼 이후 모듈 사용 주의사항

IT/Programming/PHP 2014. 9. 14. 18:24

제로보드 XE 에서 1.5 버젼 이전에 사용하던 모듈이 1.5 버젼 이후의 버젼으로 코어를 업데이트 했을 때 모듈들이 아무것도 없는 화면을 보이면서 페이지가 작동을 하지 않는 문제가 발생하고 있다.

 

이는 1.5 버젼 이후부터 __ZBXE__ 스위치가 __XE__ 로 변경되었기 때문이다.

다음의 패치 이슈를 참고 하도록 하자. : 

Issue 2607:

독립 php 페이지에서 세션공유시

   http://code.google.com/p/xe-core/issues/detail?id=2607

 

config.inc.php 를 XE 세션 공유를 위하여 require() 등으로 가져올 때, 아래의 구문에 의하여 exit() 이 되어버린다.

 

    if(!defined('__XE__'))
    {
     exit();

    }

 

기존에 사용하던 모듈(지금 문제가 발생하고 있는 모듈) 의 소스코드를 보면 아래와 같이 define이 되어있는 구문이 있을 것이다.

define('__ZBXE__',true);

 

define('__XE__', true); 구문을 require() 로 config.inc.php 를 가져오기 전에 추가해주면 해당 문제는 해결된다.

 

ex)

// Define XE Module
define('__ZBXE__',true);
define('__XE__',true);           // 추가
require_once("./config/config.inc.php");

 

 

다만, 이를 사용하는 다른 페이지가 있을 수 있으니 기존에 사용하던 __ZBXE__ 문은 삭제하지 않도록 하자. (호환성의 문제가 있을 수 있으니..)

 

** 물론, config.inc.php 를 수정하여 __XE__ 를 define 해주는 등 전역으로 문제를 해결할 수 있는 방법이 있긴 하지만, __ZBXE__가 __XE__ 로 변경되는 것은 공식적인 사항이므로 모듈 페이지를 손을 보는 것이 올바르다.

** 그리고 config.inc.php 와 같은 전역적으로 사용하는 페이지는 수정하지 않는 것이 바람직하다. 또한, xe 패치 시 자동으로 패치가 이루어지는 페이지이기도 하니 되도록이면 손을 대지 않도록 하자.

 

 

설정

트랙백

댓글