따로 자료 배포하시는 곳에 글 올리려다가 몇가지 이슈에 대한 확인도 있고 해서 여기 글 올립니다.

먼저 멋진 에디터컴포넌트 만들어 주셔서 감사합니다. ㅎㅎ

그런데 현재 제 서버의 설정상 실행이 안되어서 다음과 같이 몇가지 수정을 하였습니다.

  1. mb_stripos 의 대체
    요즘은 mb_string이 기본으로 설치되어 있는지 모르겠습니다.
    제가 쓰는 서버의 php extension은 최대한 일반 웹호스팅 환경과 맞추기 위해서 mb_string 을 설치하지 않았더니 mb_stripos에서 문제가 생겼습니다.
    그래서 코드를 다음과 같이 바꾸었습니다.

    ./modules/editor/components/latexrender/latexrender.class.phpmb_stripos를 preg_match로 대체
    if(preg_match('/'.preg_quote($tag).'/i', $formula))

    if(mb_stripos($formula, $tag)!==false) 를 대체한 것인데 위와 같이 바꾸어도 문제가 없을까요?
  2. 임시 디렉토리의 생성
    ./files/cache/latexrender와 ./files/cache/latexrender 2개의 디렉토리를 사용하게 되어 있던데 FileHandler::writeFile() 사용시에는 해당 디렉토리가 없으면 생성하고 파일을 작성하지만 exec로 실행하는 프로그램의 경우 그렇지 않아서 이미지가 생성되지 않는 것 같습니다.
    그래서 아래와 같은 구문을 추가하였습니다.

    ./modules/editor/components/latexrender/latexrender.class.phpFileHandler::makeDir 명시적 사용 코드 추가
    $file_dir = './files/cache/latexrender';
    if(!is_dir($file_dir)) FileHandler::makeDir($file_dir); // 추가

    ./modules/editor/components/latexrender/latexrender.class.php상동
    $tmp_dir = $file_dir . '/tmp';
    if(!is_dir($tmp_dir)) FileHandler::makeDir($tmp_dir); // 추가
    


위의 2가지 수정을 거치고 나니 문제 없이 동작합니다.

위 수정 사항이 기본 코드에 어긋나지 않는다면 위와 같이 변경해서 배포해주시면 조금은 더 많은 사용자들의 환경에 맞출 수 있지 않을까요?

아무튼 너무 멋진 에디터 컴포넌트 감사합니다.

이 게시물을..
profile
XE Open Source Project Manager & Developer 를 담당하고 있는 zero 입니다.
잘 부탁드려요~