PHP 포함 경로 문제 해결
제공된 시나리오에서 /root/update/test.php 경로의 PHP 스크립트는 다음을 시도합니다. /root/connect.php에 connect.php 파일을 포함시킵니다. test.php 내의 포함은 성공하지만 connect.php 내의 후속 포함은 필요한 파일 config.php를 찾는 데 실패합니다.
test.php의 포함 경로가 로 설정되어 있다는 사실 때문에 혼란이 발생합니다. :/root, connect.php가 현재 작업 디렉토리와 /root 디렉토리에서 config.php를 검색해야 함을 나타냅니다. 그러나 오류 메시지는 실제로 connect.php가 config.php가 존재하지 않는 자체 디렉터리에서 파일을 포함하려고 시도하고 있음을 나타냅니다.
이 문제를 해결하려면 대체 접근 방식을 활용하여 필요한 사항을 결정할 수 있습니다. 파일 경로.
한 가지 해결책은 현재 파일의 디렉터리를 나타내는 PHP 매직 상수 __DIR__을 사용하는 것입니다. dirname(__DIR__)을 원하는 파일 이름과 연결하면 디렉터리 구조를 올라가서 필요한 파일에 액세스할 수 있습니다. 이 경우 test.php의 수정된 코드는 다음과 같습니다.
include(dirname(__DIR__).'/config.php');
또 다른 방법은 dirname(__DIR__)을 사용하여 루트 경로를 정의하고 이를 상수 변수에 저장하는 것입니다. 그런 다음 이 루트 경로를 사용하여 필요한 포함 경로를 구성할 수 있습니다. test.php에서는 다음과 같이 표시됩니다.
define('ROOT_PATH', dirname(__DIR__) . '/'); include(ROOT_PATH.'config.php');
이러한 수정된 접근 방식을 사용하면 PHP 스크립트는 실행 중인 파일 구조나 배포 환경에 관계없이 필요한 파일을 성공적으로 포함할 수 있습니다.
위 내용은 겉으로는 올바른 포함 경로에도 불구하고 내 PHP 포함이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!