2010-12-20 5 views
4

보통 데이터베이스 연결 설정 (예 : db 호스트, db 이름, 사용자, 패스)에 대한 전역 변수가있는 구성 파일이 있습니다.다른 사용자/DB에 대한 dev에 대한 쉬운 처리 방법 dev에. machine vs production server

나는 또한 정말로 내 dev 컴퓨터에서 프로덕션 서버로 모든 파일을 끌어다 놓을 수 있습니다. 그러나 개발 DB 호스트 등은 프로덕션 서버에있는 것과 다를 수 있습니다.

PHP에서 과 같은 쉬운 방법이 있습니까? "dev-machine에있는 경우이 값을 사용하십시오"? (나는 호스트 IP/이름을 기반으로 해킹을 피하는 것을 선호한다.) 예를 들어 $DEV_MACHINE이 dev 머신에서 true로 설정되도록 php.ini 또는 httpd.conf에서 설정하는 것과 같은 것을 생각하고있다.

+1

및'개발'플래그? 나는 궁금해서 알고 있습니다. –

+0

예를 들어 다시 설치할 때 항상 동일한 호스트 이름을 사용하지는 않습니다. 내 호스트 이름을 다른 것으로 바꾸면 모든 PHP 파일을 편집하고 싶지 않습니다. – aioobe

+0

우리는 다른 stagings (dev, client, production)에 대한 도메인 이름을 가진 .ini 파일을 가지고 있으며, 변경하면 하나의 파일 만 편집하면됩니다 –

답변

2

SetEnv으로 Apache 변수를 설정하고 PHP의 apache_getenv()으로 쿼리 할 수 ​​있습니다.

+0

'SetEnv Environment Production'. 여러 대의 서버를 사용하는 한 항상 호스트 이름에 의존해서는 안되기 때문에 훨씬 더 좋습니다 (특히 전용 IP를 사용하는 경우 특히 그렇습니다). – ircmaxell

1

언제든지 URL을 사용할 수 있습니다. dev url과 prod url은 달라야합니다. 꽤 안정적이어야합니다.

그러나 이상적인 방법은 신임 정보를 분리하여 보관하는 것입니다. dev 서버가 해킹 당하면 prod creds가 도난당하는 것을 원하지 않습니다. 그래서 그것을 빨아 들여서 분리하는 것이 가장 좋습니다.

2

보통 소스 제어하에 있지 않은 config-local.php이라는 파일을 사용합니다.

파일이 없으면

는 응용 프로그램은 경고 페이지가 "설치를 완료"라는 표시 또는 단지 데이터베이스 자격 증명 등을 설정하는 마스터를 실행

`production`을 설정하는 호스트 이름을 사용하여 잘못 무엇
관련 문제