Q&A

모듈에서 ajax 사용시

2024.03.26 15:03
127
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

ajax 이용때문에

 

모듈에 새로운 save.php 같은 파일을 하나 만든다고 가정하고

 

save.php에서

mysqli($servername, $username, $password, $dbname); 이방식이 아닌

$oDB = DB::getInstance();로 접속을 하려면


include '//common/scripts/common.php';

이런식으로 common.php파일을 인크루드 하면될까요?

톰캣 Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.

댓글 5

  • 2024.03.26 15:59 #1816571

    common/scripts/common.php는 PHP-CLI 환경, 즉 터미널이나 크론탭 등 백그라운드에서 PHP를 실행할 때 사용하도록 만들어진 파일입니다. 웹 요청에서 이 파일을 인클루드하면 강제종료됩니다.

     

    일반적인 "외부 페이지"에서 라이믹스의 클래스와 함수를 사용하려면

        require_once '/설치경로/common/autoload.php';

        Context::init();

    이것만 해주면 됩니다.

     

    참고로 XE에서는

        define('__XE__', true);

        require_once '/설치경로/config/config.inc.php';

        $oContext = Context::getInstance();

        $oContext->init();

    이렇게 4줄이나 써야 했는데, 라이믹스에서는 지저분하게 상수나 변수를 선언할 필요가 없어요.

  • 2024.03.26 16:09 #1816581
    감사합니다!!
  • 2024.03.26 17:04 #1816602
    근데

    <?php
    require_once '/home/계정명/www/common/autoload.php';

    이게 거의 리눅스 root까지 거슬러 올라가야하는데 혹시 좋은방법이 없을까요?

    {$_SERVER['HTTP_HOST']}/ 로 해버릴까요?
  • 2024.03.26 17:06 #1816606
    홈페이지의 루트 폴더를 가리키는 $_SERVER['DOCUMENT_ROOT']가 이럴 때 꽤 쓸만합니다.
  • 2024.03.26 17:10 #1816610
    너무좋네요 감사합니다.
    실수로 ajax에서 암호 노출시키는 일은 이제 없겠어요!! ㅎㅎ