PHP 포함 상대 경로: 파일 포함 오류 해결
/에 test.php와 connect.php라는 두 개의 파일이 있습니다. 루트/업데이트/디렉토리. connect.php는 include "../config.php" 라인을 사용하여 /root/ 디렉토리에서 config.php를 포함하려고 시도합니다. 그러나 이로 인해 파일 누락과 관련된 오류가 발생합니다.
문제 이해
이 문제는 test.php에 설정된 포함 경로(set_include_path(".: /root");)에는 현재 디렉터리(.)가 포함되지만 상위 디렉터리(/root/update/ 디렉터리)는 포함되지 않습니다. 이는 connect.php가 상대 경로 ../config.php와 함께 config.php를 포함하려고 시도할 때 존재하지 않는 루트 디렉터리(/root/)에서 이를 찾는다는 것을 의미합니다.
문제 해결
이 문제를 해결하려면 몇 가지 방법이 있습니다. 옵션:
현재 파일 디렉터리의 절대 경로를 나타내는 __DIR__ 상수를 사용하여 파일을 포함할 수 있습니다. 이렇게 하면 상대 경로를 지정할 필요 없이 구성 파일에 액세스할 수 있습니다.
include(dirname(__DIR__).'/config.php');
파일 포함의 루트 디렉터리를 지정하기 위해 루트 경로 상수를 정의할 수 있습니다. 이렇게 하면 전체 경로를 지정하지 않고 해당 루트 디렉터리의 상대 경로를 사용할 수 있습니다.
define('ROOT_PATH', dirname(__DIR__) . '/'); include(ROOT_PATH.'config.php');
동안 절대 경로를 사용하는 것은 옵션이 아니라고 말씀하셨습니다. 가능하다면 절대 경로를 사용하여 파일을 포함할 수 있습니다. 직접:
include('/root/config.php');
결론
__DIR__을 사용하거나, 루트 경로를 정의하거나, 절대 경로를 사용하면 상대 경로 사용 시 파일 포함 문제를 해결할 수 있습니다. PHP 스크립트 내에서.
위 내용은 PHP에서 상대 경로를 사용하여 파일을 올바르게 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!