2013-06-05 1 views
1

그냥 document_root가 비어 있음을 알았습니다. 어떤 대안이나 아이디어를 어떻게 고쳐야합니까?

echo <?php $HTTP_SERVER_VARS["PATH_TRANSLATED"] ?> 
<?php 
require_once($_SERVER["DOCUMENT_ROOT"] . "/inc/config.php"); 
include(ROOT_PATH . "/inc/header.php"); 
?> 
+0

질문에 표시되는 코드에서 무엇을 기대합니까? 실제로 무엇을합니까? '$ _SERVER [ 'DOCUMENT_ROOT']'가 비어 있다는 것을 어떻게 알았습니까? 질문에있는 코드는'$ _SERVER [ 'DOCUMENT_ROOT']'가 공백인지 아닌지를 결정하는 데는 적합하지 않습니다. 누가이 끔찍한 질문을 기각 한거야? – Oswald

답변

2

당신은 구문 오류를 가지고, 당신의 에코가 PHP 태그 내부에, 및 $_SERVER['DocumentRoot'] 글로벌은 사용중인 서버에 의존하는 semiclumn ;

<?php echo $HTTP_SERVER_VARS["PATH_TRANSLATED"]; ?> 
    //^echo should be inside php tags   ^semicolumn was missed here 
+1

세미콜론을 사용하는 것이 가장 좋지만 실제로는 구문 오류가 아닙니다. 유일한 줄이면 유효합니다. 에코 부분은 확실히 오류입니다 :) – Jessica

+0

@Jes 그게 무슨 뜻인지 :) – Fabio

1

을 추가해야합니다, 자체 PHP 없습니다. 아파치를 사용하는 경우 다음 당신의 아파치 설정 파일에의 DocumentRoot 항목을 추가 :

DocumentRoot /absolute/path/to/website/ 

당신은 쉽게 시간이 단지 현재 디렉토리에서 상대 경로로 당신의 PHP를 수정해야 할 수도 있습니다. 사용 :

require_once __DIR__ . '/inc/config.php'; 

또는 올바른 상대 경로로이 몇 가지 변화가 당신이 config.php 파일을 편집하고있는 PHP 스크립트의 폴더에서 얻을 수있는, 예 :

require_once __DIR__ . '/../inc/config.php'; 
0

내가 선호 define('FOO_ROOT', dirname($_SERVER['SCRIPT_FILENAME']))

아마도 루트에 index.php가있는 경우 유용하며 /inc/init.php에서 루트 경로를 이와 같이 설정하는 코드가있을 수 있습니다.

나는이 기법의 단점이 있다고 생각하지 않으며 아마도 cron.php (cron 작업을 통해 실행되는 것)가 init.php에있는 것들에 대한 액세스를 필요로 할 때 유용합니다. 그래서이 문맥에서 여러분은 단지 두 파일 모두에서 inc/init.php를 요구할 것입니다. 나는 그것이 더 건조하다는 것을 안다.

관련 문제