2014-10-24 1 views
-1

include_path이 (include_path=:과 같은) PHP에서 비어 있다면, includerequire 함수는 여전히 작동합니다. includeinclude_path에 설정된 것과 관계없이 초기 스크립트의 디렉토리를 먼저 시도하는 것과 같습니다.PHP에서`include_path`가 비어 있습니다.

이 내가 /usr/lib/php5/처럼 뭔가에 include_path를 설정할 때 나에게 많은 혼란을 가져온 다음과 같은 디렉토리에 더 test.php이없는 스크립트 include('test.php')하려고합니다. 현재 include_path이 현재 디렉토리에없는 경우 test.php이 표시 될 것이라고 생각합니다.

나는 해결책을 찾고 있지 않다. 나는 나의 현재의 문제를 이미 해결할 수있다. include_path가 어떻게 작동하는지에 대한 설명을 찾고 있습니다. 감사!

+0

간단한 RTFM은 당신에게 당신의 답변을 얻을 것입니다 : http://php.net/manual/en/ini.core.php#ini.include-path – AlexL

+0

네,하지만 그 않습니다 내가 준 예를 설명하지 마라. – tau

+0

위대한, 링크 주셔서 감사합니다. 나는 주위를 둘러 보았다. 그러나 내가 didnt 할 한가지는 include/include 문서 (include_path explantion을 찾고 있었기 때문에)이다. 왜 내가 정직한 실수를했을 때 나를 모욕 할 필요성을 느끼는지 확신 할 수 없다. – tau

답변

1

기본적으로 경로 정보없이 포함될 파일의 ​​이름을 지정하면 include_path가 사용됩니다.

include 'wow.php'; (this will use include_path to try to find it) 

는 다음을 찾을 수 없습니다 경우에 그것을 포함하려고 한 파일과 같은 디렉토리에서 찾게됩니다.

include '/blah/wow.php'; 

이것은 일부 경로 정보가 포함되어 있기 때문에 모두 함께 include_path를 무시합니다.

+0

훌륭한 설명이지만, 초기 스크립트의 디렉토리가 아닌, 포함 된 스크립트 (중첩 된 경우 포함)의 디렉토리를 볼 것이라고 생각하십니까? – tau

+0

실제로, 나는 이것을 테스트하고 현재 스크립트 디렉토리를 먼저 확인한 다음 초기 스크립트 디렉토리를 확인하는 것으로 보입니다. – tau

1

사용이

include($_SERVER['DOCUMENT_ROOT'].'/test.php'); 
관련 문제