include_path 는 PHP 구성에서 중요한 옵션으로, 진술을 포함하거나 요구할 때 PHP가 찾는 파일의 디렉토리 목록을 지정하기 위해 중요한 옵션입니다. 이 구성은 php.ini 파일로 설정하거나 코드를 통해 동적으로 수정할 수 있습니다. PHP는 경로 목록이 포함 된 순서 대상 파일을 찾습니다.
예를 들어, 기본 include_path는 다음과 같은 것일 수 있습니다.
.:/usr/local/lib/php
즉, PHP는 먼저 현재 디렉토리 ( . )에서 찾아온 다음 /usr/local/lib/php 디렉토리로 이동하여 찾아보십시오.
get_include_path ()는 호출 후 현재 PHP 환경에서 포함 된 경로 문자열을 반환하는 매개 변수가없는 함수입니다. 이 문자열을 보면 개발자는 포함 된 파일을 찾는 PHP가 어떤 디렉토리를 확인할 수 있는지 확인할 수 있습니다.
string get_include_path(void);
Path_Separator (Linux/Unix의 콜론 : Windows 아래의 세미콜론 ; )로 분리 된 경로 목록이 포함 된 문자열을 반환합니다.
현재 포함 된 경로를 인쇄하십시오
코드에 다음 문을 삽입하십시오.
echo '현재 포함 된 경로는입니다:' . get_include_path();
이렇게하면 PHP가 포함 된 파일을 찾을 위치를 직접 확인할 수 있습니다.
포함 된 경로를 조정하십시오
포함 경로에 원하는 디렉토리가 포함되어 있지 않으면 SET_INCLUDE_PATH () 함수를 통해 동적으로 조정할 수 있습니다.
set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/your/include/dir');
포함 또는 요구 사항을 사용할 때 경로를 포함합니다
절대 경로를 사용하지 않으면 파일이있는 디렉토리가 포함 된 경로에 있는지 확인하여 PHP가 파일을 올바르게 찾을 수 있도록 할 수 있습니다.
다음과 같이 프로젝트 구조가 있다고 가정합니다.
/var/www/gitbox.net/project/
├── index.php
├── config/
│ └── config.php
Index.php 에 config/config.php를 포함 시키려고하지만 다음과 같이 작성되었습니다.
include 'config.php';
현재이 프로그램은 오류를보고하고 파일을 찾을 수 없습니다.
get_include_path ()를 사용하여 현재 포함 된 경로를 볼 수 있습니다.
<?php
echo '경로를 포함하십시오:' . get_include_path() . PHP_EOL;
// 동적으로 추가되었습니다 config 目录到경로를 포함하십시오
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . '/config');
include 'config.php'; // 이제 파일을 올바르게 찾을 수 있습니다
?>
이런 식으로 PHP는 현재 작업 디렉토리에 관계없이 포함 경로에서 config.php를 찾습니다.
절대 경로 사용 : 파일을 포함시킬 때는 절대 경로를 사용하여 다른 작업 디렉토리로 인한 파일 고장 문제를 피하십시오. 스 플라이 싱 경로를 지원하기 위해 __dir__ 또는 dirname (__ file__) 을 사용할 수 있습니다.
Debugging 중에 포함 된 _PATH 점검 : 포함 파일이 실패하면 첫 번째 단계는 get_include_path ()를 인쇄하여 포함 경로가 올바르게 설정되어 있는지 확인하는 것입니다.
php.ini 구성 : 프로덕션 환경에서 Php.ini 에 포함 된 경로를 설정하여 코드의 경로를 동적으로 수정하여 발생하는 복잡성을 줄이는 것이 가장 좋습니다.
get_include_path () 함수를 통해 개발자는 PHP의 현재 포함 경로 설정을 명확하게 볼 수 있으므로 포함 된 파일의 검색 문제를 효과적으로 배치 할 수 있습니다. 포함 된 경로의 동적 조정과 결합하여 절대 경로를 사용하면 프로젝트에서 포함 된 파일 관리의 안정성과 유지 관리를 크게 향상시킬 수 있습니다. 이 기사를 소개하면 PHP에 파일 경로를 포함하는 디버깅 기술을 더 잘 마스터하는 데 도움이되기를 바랍니다.
<?php
// 샘플 코드,调试경로를 포함하십시오
echo '当前경로를 포함하십시오:' . get_include_path() . PHP_EOL;
// 添加自定义目录到경로를 포함하십시오
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . '/lib');
include 'myfile.php'; // 여기 PHP 会在경로를 포함하십시오中寻找 myfile.php
?>