2017-02-17 5 views
1

내 PHP 파일을 포함 할 때 $ _SERVER [ 'DOCUMENT_ROOT']의 사용을 해제/무효화하는 방법이 있습니까? 나는

require '/somedirectory/somefile.php'; 

대신를 CentOS와의 cPanel을 실행

$_SERVER['DOCUMENT_ROOT'].'/somedirectory/somefile.php'; 

의 선호 할 것입니다.

아니면 내 PHP 코드를 작성할 때 항상 필요합니다.

+0

당신은 당신의 코드가없이 실행하고 당신이 당신의 경로를 변경하는 경우 다음 완전히'$ _SERVER를 [제거 할 때/참조를 변경 드리겠습니다 것을 _sure_하는 경우 'DOCUMENT_ROOT']'를 선택하십시오. – Blakethepatton

+0

이 패키지를 배포 할 계획이 있는지 여부에 따라 다릅니다. –

답변

1

그냥 사용

require './somedirectory/somefile.php'; 
+0

O를 보면 알 수 있습니다. 그것 앞에. 나는 그것을 완전히 놓쳤다! 고마워, 문제가 해결되었습니다! – DEVPROCB

0

반드시 사용해야하는 것은 아닙니다. 전체 경로를 사용할 필요는 없습니다.

require 'somedirectory/somefile.php'; 

또 다른 옵션은 위치로 include_path 그래서 PHP가 알고있는 설정하는 것입니다 호출하는 파일합니다 (/를 생략하거나 PHP가 서버 드라이브의 루트를 의미 생각합니다)로 아파치와 PHP는 일반적으로 동일한 경로에서 찾게됩니다 명시 적으로 $ _SERVER을 참조하지 않고 응용 프로그램의 기지에서 암시 적으로

set_include_path('/full/path/to/files'); 
+0

위의 설명을 참조하십시오. – DEVPROCB

2
require './somedirectory/file.php 

작품을 보면 ... 더 비활성화가 없지만 변수 또는 다른 변수는 라우팅에 도움을 것을이 정의되어있다. base_url 및 site_url과 같은 변수

점은 응용 프로그램의 루트를 나타냅니다.

+0

대답을 두 번 수락 할 수 없어 답변을 upvoted. 그 점은 완벽하게 감사했습니다. 항상 그리워하는 작은 것들입니다. – DEVPROCB

+1

정말 기쁘다, 나는 경로를 포함하는 것을 잊어 버렸지 만, 가장 간단한 방법은 점 표기법이다 – nivanmorgan