기사 디렉토리
VestaCP 패널 에서 PHP open_basedir 오류 해결 방법
PHP open_basedir는 무엇입니까?
- PHP open_basedir 보호 조정은 해당 폴더가 명시적으로 제외되지 않는 한 사용자가 PHP를 사용하여 홈 디렉토리 외부에 있는 파일이나 스크립트를 열지 못하도록 하는 안전 모드 보안 조치입니다.
- PHP open_basedir 설정을 활성화하면 모든 파일 작업이 특정 디렉토리 아래의 파일로 제한되어 특정 사용자의 PHP 스크립트가 승인되지 않은 사용자 계정의 파일에 액세스하는 것을 방지할 수 있습니다.
- 스크립트가 fopen() 또는 gzopen()을 사용하여 파일을 열려고 하면 파일 위치가 확인됩니다.
여기에서 VestaCP 패널에 대한 더 많은 관련 자습서가 있습니다 ▼
파일이 지정되거나 허용된 디렉토리 트리를 초과하면 PHP는 파일 열기를 거부하고 다음과 유사한 오류가 발생할 수 있습니다.
PHP Warning: require(): open_basedir restriction in effect. File(/home/admin/web/project/www/app/autoload.php) is not within the allowed path(s): (/home/admin/web/project/public_shtml:/home/admin/tmp) in /home/admin/web/project/www/web/app.php on line 6 PHP Warning: require(/home/admin/web/project/www/app/autoload.php): failed to open stream: Operation not permitted in /home/admin/web/project/www/web/app.php on line 6 PHP Fatal error: require(): Failed opening required '/home/admin/web/project/www/web/../app/autoload.php' (include_path='.:/usr/share/php') in /home/admin/web/project/www/web/app.php on line 6
해결책
1단계: 해당 도메인 이름 "웹 서비스"에 접속합니다.
2단계: "웹 템플릿 HTTPD" 수정
- "웹 템플릿 HTTPD"를 "기본"에서 "phpcgi"로 변경하세요 ▼

3단계: 다음 명령어를 사용하여 Apache 서비스를 재시작합니다. ▼
service httpd restart
리눅스 시스템에서 흔히 발생하는 문제 입니다 . 위에 안내된 단계를 따라하기만 하면 됩니다. 코드 수정은 필요 없고, 단 3단계만으로 빠르게 해결할 수 있습니다. 정말 간단하죠! ^_^
주의 사항
- "phpfcgid"를 선택하지 마십시오. 너무 많은 메모리를 소모하고 빈번한 500 오류 문제가 발생하기 쉽기 때문입니다.
"phpfcgid" 템플릿을 꼭 사용하고 싶다면, Chen Weiliang 은 사용 전에 설정을 최적화할 것을 권장합니다. ▼
Chen Weiliang님의 블로그( https://www.chenweiliang.com/ ) 에 공유된 "VestaCP 패널에서 PHP open_basedir 오류를 해결하는 방법"이라는 글이 여러분께 도움이 되기를 바랍니다.
이 기사 링크( https://www.chenweiliang.com/cwl-734.html )를 자유롭게 공유해 주세요.


