2014-06-11 2 views
0

OK, 아마도 멍청한 질문입니다.PHP : 프로덕션 서버에서/dev 폴더 사용

나는 일하는 저소득의 진료소를위한 아주 작은 규모의 PHP 인트라넷 사이트를 개발했습니다. NetBeans와 EasyPHP를 사용하여 자체 워크 스테이션에서 개발했으며, 거기에서 작동합니다.

Uniform Server (루트 : C : \ UniServer \ www)를 사용하여 프로덕션을위한 새 서버 상자를 설정 한 다음 내 워크 스테이션이 네트워크를 통해 해당 상자에 액세스 할 수있게했습니다.

모든 파일을 서버 상자의 C : \ UniServer \ www \ dev에 넣어 사용자가 볼 수 있도록 루트 폴더에 올려 놓기 전에 해당 컴퓨터에서 사이트가 어떻게 작동하는지 확인합니다. 그러나 나는 문제가있다. 서버는 프로젝트의 루트를 C : \ UniServer \ www가 아닌 ​​C : \ UniServer \ www \ dev로 정의하기 때문에 "/Program/index.php"또는 "/ Contact/index .php "는 서버/dev가 아닌 서버 루트를 가리키고 결국 깨집니다. 내 인덱스 템플릿 또한

, 나는이 (사이트의 모든 눈에 보이는 파일에 나타납니다) :

$ROOT_DIRECTORY = filter_input(INPUT_SERVER, 'DOCUMENT_ROOT'); 

(나는 내가 그것을 사용할 수 있기 때문에 상수로 정의하려는 모르겠어요

)는 히어 닥 블록에 나는

include("$ROOT_DIRECTORY/includes/standardpage.php"); 

자연스럽게 같은 문제가 발생 같은 장소에서 $ROOT_DIRECTORY를 사용 - 내가 선언 ABO에서 . "/dev"을 포함하지 않는 어떤 것도 작동하지 않습니다.

정말 확실한 것이 빠져있을 것입니다. 어떤 도움이 필요합니까?

/dev 디렉토리에 devserver 또는 다른 서버 루트를 설정해야합니까? 또는 무엇을?

답변

1

"/Program/index.php"또는 "/Contact/index.php"와 같은 소스 코드의 모든 내 URL은 서버/dev가 아닌 서버 루트를 가리키며 결국 따라서 부서진.

당신의 $ROOT_DIRECTORY 변수가 잘 보이는 때문에, 난 단지 당신이 말 그대로 /Program/index.php를 가리 키도록 앵커를 작성하기 때문에 당신이 이러한 오류를 얻고 있다고 가정 할 수 있습니다 - /을 접두사 서버의 루트에 브라우저가 지시 (http://yourdomain.com 또는 http://localhost).

도메인에서 개발 용으로 dev 폴더를 사용하는지 여부는 신경 쓰지 않습니다. 따라서 이러한 환경에서는 하위 폴더 대신 하위 도메인을 사용하는 것이 좋습니다.

어쨌든 ... 문제를 해결할 수있는 방법은 각각의 링크에 $ROOT_DIRECTORY 변수를 앞에 추가하는 것입니다. 대신이의

:

<a href="/Program/index.php">Hello world!</a> 

... 이렇게 :

<a href="<?=$ROOT_DIRECTORY?>/Program/index.php">Hello world!</a> 
+0

"당신은 개발을위한 dev에 폴더를 사용할지 여부를 신경 쓰지 않는 도메인"... 정확히 . 하위 도메인은 어떻게 사용합니까?나는 이것에 관해 꽤 새로운 것을 기억한다. 감사. – tangopianist

+0

"글자 그대로 /Program/index.php를 가리 키기 위해 앵커를 쓰고 있습니다 - 접두어가 붙어있는/브라우저가 서버의 루트를 가리키고 있습니다"... 예, 의도입니다. 실제 루트에있는 사이트의 파일 또한 나는 당신이 나에게 서브 도메인을 설명 할 것을 기대하지는 않지만 링크 또는 2 개가 굉장 할 것입니다. :) – tangopianist

+0

$ ROOT_DIRECTORY를 앞에 붙이면 변수가 "/ dev"을 포함하도록 수정하지 않으면/dev 폴더에서 수정되지 않습니다. 물론 "production"에서 작동하지 않으므로 같은 작업을해야합니다. 내게 조금 익숙하지 않은 경우 (strrpos (getcwd(), "dev") {$ ROOT_DIRECTORY. = "/ dev"} – tangopianist