포함하려는 PHP 응용 프로그램이 있지만 하위 디렉터리의 파일을 포함하려고하기 때문에 문제가 발생합니다. 예를 들어, 여기에 내가 함께 작업하기 위해 노력하고있어 (어느 정도) 디렉토리 구조는 다음과 같습니다현재 스크립트 이외의 기본 경로에서 PHP 스크립트를 포함하려면 어떻게해야합니까?
/site
/scripts
/local
some_script.php
lib_file_a.php
lib_file_b.php
lib_load.php
lib_load.php
파일 lib_file_a.php
및 lib_file_b.php
(상대 경로)에 대한 include
명령이 있습니다.
lib_load.php
부터 some_script.php
까지 포함시키려는 것이지만 lib_load.php
을 포함하는 방식에 문제가 있습니다. 처음에는 require('../../../lib_load.php');
을 시도했습니다.
예상대로 'C : \ xampp \ htdocs \ site \ scripts \ local \ lib_file_a.php'열 필요 없음 오류가 발생했습니다. 보시다시피, PHP는 존재하지 않는 파일을 포함하려고합니다. 스택 경로 오버플로 게시물은 절대 경로 (link)을 사용하는 것에 대해 알려주었지만이 방법은 도움이되지 않았습니다. 다음으로이 코드를 시도 :
require(realpath(dirname(__FILE__) . '../../../' . 'lib_load.php'));
그러나 이번에는 같은 오류가 다시 발생합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
편집 : 문제가 실제로 상대 경로가 아닌 절대 경로를 기반으로 파일을 포함하는 것으로 판명 된 라이브러리 로더에 있다는 것을 깨달았습니다. (나는 좀 더주의 깊게 읽어야했다.) 나는 라이브러리가 사용하는 경로를 변경함으로써이 문제를 해결했다. 이 질문은 MOD가이 요청을 보는 경우 닫아야합니다. 당신이 PHP 5.3 이상 사용을 사용하는 경우이 대신 (이 낫 네요)
require dirname(__FILE__) . '/../../../lib_load.php');
을 또는 :