테스트 사이트 - 개발 중인 베타 버전입니다

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

젤리3 2년 전 조회 1,875

 

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

개발일 때 API_HOST_DEV

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

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

 

 

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
플라이
2년 전

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

젤리3
2년 전
플래그 변수를 넣어 설정해보고자 했는데 방법을 몰라서 혹시 조언을 구할 수 있을까요?...
플라이
2년 전
config.php 인자값에

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

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

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

이런식으로 선언된 주소 값을 담아 적용해 주시면 되지 않을까 생각됩니다.
젤리3
2년 전
$host 는 어떻게 확인할 수 있을까요? isset($_SERVER['HTTPS_HOST'] 으로 위에 host 변수를 선언해줘야 하는게 맞는걸까요...? 이미 많은 도움 주셨는데 죄송합니다.
플라이
2년 전
$host는 그냥 변수값을 임의로 잡아둔것이라 이걸 대입해서 주소를 적용하시면 되십니다.

isset($_SERVER['HTTPS_HOST'] 이거는 어떤 주소로 사이트를 접근하느냐에 구분하는거라
같은 도메인이라면 위 부분은 굳히 필요 없는 부분입니다.
젤리3
2년 전
아.. 개발/운영 도메인 주소가 달라서 개발접속 시 개발API 주소로 타야하고, 운영접속 시 운영API 타야 합니다. 위에 작성한 define 으로 상수 선언해야 알려주신 flag 변수를 사용할수 있는거죠..?
define("API_HOST_DEV", $global_api_host['dev']);
define("API_HOST_PROD", $global_api_host['prod']);
플라이
2년 전
네 그렇습니다.
개발서버와 운영서버가 다르다면 host 주소는 그냥 무시하시고
개발서버소스에는 config.php 파일에 $service_chk = false;
운영서버에서는 config.php 파일에 $service_chk = true;

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

댓글을 작성하려면 로그인이 필요합니다.

2년 전

https://sir.kr/g5_tip/12705

없는게 없는 그누보드 팁게시판입니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
2년 전

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

 

위의 질문에서 

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

 

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

젤리3
2년 전
일반적으로는 그렇게 사용 되는군요... 막막했는데 답변에 감사드립니다.

댓글을 작성하려면 로그인이 필요합니다.

e
2년 전

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

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

구분은

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

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

} else {

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

}

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인