개발/운영 api url 구분방법 문의 드립니다.

개발/운영 api url 구분방법 문의 드립니다.

QA

개발/운영 api url 구분방법 문의 드립니다.

본문

 

공통파일인 config.php 파일안에서 개발과 운영 URL 을 구분 하여 일반 파일에서 호출하여 사용하고 싶습니다.

개발일 때 API_HOST_DEV

운영일 때 API_HOST_PROD 로 상수를 지정해놓고 호출하고 싶은데 

어떤 방법으로 하는게 맞을지 문의 드립니다..

 

3551665508_1668384383.9276.png

 

위 / 아래(주석) 처리 중에 어떤 방법으로 해야 제가 개발에서 접속시 API_HOST_DEV 의 API URL로

탈 수 있을 까요..? 또 일반 파일에서 config.php 파일을 어떻게 불러와서 쓸 수 있을지도 문의 드립니다.

이 질문에 댓글 쓰기 :

답변 4

파일로 설정하시려면
config.php파일에 API 연동 구분 플래그 변수를 api 변수로 해서 개발여부를 체크하는 인자값을 넣어 구분처리해 주면 될듯 합니다.

config.php 인자값에

$service_chk = true (서비스) / false(개발시); 구분자를 넣어서

해당 구분 플래그를 가져올때

if($service_chk){
 $host = API_HOST_PROD;
}else{
 $host = API_HOST_DEV;
}

이런식으로 선언된 주소 값을 담아 적용해 주시면 되지 않을까 생각됩니다.

$host는 그냥 변수값을 임의로 잡아둔것이라 이걸 대입해서 주소를 적용하시면 되십니다.

isset($_SERVER['HTTPS_HOST'] 이거는 어떤 주소로 사이트를 접근하느냐에 구분하는거라
같은 도메인이라면 위 부분은 굳히 필요 없는 부분입니다.

아.. 개발/운영 도메인 주소가 달라서 개발접속 시 개발API 주소로 타야하고, 운영접속 시 운영API 타야 합니다. 위에 작성한 define 으로 상수 선언해야 알려주신 flag 변수를 사용할수 있는거죠..?
define("API_HOST_DEV",  $global_api_host['dev']);
define("API_HOST_PROD",  $global_api_host['prod']);

네 그렇습니다.
개발서버와 운영서버가 다르다면 host 주소는 그냥 무시하시고
개발서버소스에는 config.php 파일에 $service_chk = false;
운영서버에서는 config.php 파일에 $service_chk = true;

구분해서 처리해 주셔도 됩니다.

1개의 사이트에서 어느곳은 개발, 어느곳은 운영쪽의 api를 사용하려면 위처럼 하는게 맞겠지만,

2개의 사이트에서 url에 따라 각각의 사이트는 모든 api를 개발이나 운영쪽으로만 사용한다면 아래의 형태로 하는게 맞겠고

구분은

if($_SERVER['HTTPS_HOST'] == 'http://개발주소'){

    define('API_HOST', 'http://개발주소');

} else {

    define('API_HOST', 'http://운영주소');

}

이렇게 하면 되겠지요 API_HOST를 dev, prod로 나눌 필요는 없어보입니다.

API_HOST를 나눌 필요없이 공통으로 사용해도 되는군요. 혹시 이거에 대한 호출은 개발/운영이 화면마다 개발, 운영 주소가 하드코딩 되어있는데 화면마다 어떻게 받아올 수 있나요..?

개발에서 적용해야하는 로그/이벤트 확인을 하려면

 

위의 질문에서 

첫번째 방식으로 하시는게 좋습니다.

 

현재 접속한 도메인이 개발이면 , 운영이면 각각 다르게 작동해야하는 코드(감춤/보임)들이 존재하니까요

 

일반적으로 두가지다 환경설정에 넣고 다르게 작동하는 코드를 적용해서 사용합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,645 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT