경고: DocumentRoot 오류 해결 방법
설치 중 보안을 고려하여 DocumentRoot를 별도의 파티션에 배치할 계획이므로 논리 파티션에 이를 위해 특별히 디렉터리를 만들었습니다: /Dmnr
파티션을 마운트하려면 /etc/fstab을 다음으로 설정하세요:
코드:…
LABEL=/Dmnr /Dmnr ext3 기본값은 1 2
디렉터리가 생성된 후 웹사이트 콘텐츠를 해당 디렉터리의 www/html에 복사하고 /etc/httpd/conf/httpd.conf를 다음과 같이 수정합니다.
[php]
…
DocumentRoot “/Dmnr/www/html”
…
…
[/php]
Apache를 다시 시작하면 다음 오류 메시지가 나타납니다.
코드: #service httpd restart
httpd 시작: 경고: DocumentRoot [/Dmnr/www/html]가 존재하지 않습니다
[ 알았어 ]
물론 서버는 제대로 작동하지 않을 것입니다. Apache는 이것이 디렉터리가 아니라고 생각합니다. 그러나 DocumentRoot ""를 다른 디렉터리로 지정하면 문제가 없으며 서버는 정상적으로 작동합니다.
해결책:
1. SELinux 구성(생략...)은 다음을 참조하세요.
http://www.chinalinuxpub.com/read.php?wid=1010
http://blog.josesun.org/archives/2004_08/2
2. html 디렉토리 권한 수정:
1. 웹사이트 콘텐츠 디렉터리를 확인하세요
[php]
#ls -Z /Dmnr/www/html
[/php]
상태는:
[php]
-rwxr-xr-x someuser somegroup index.php
…
[/php]
2. 당연히 SELinux 권한이 없으므로 다음과 같이 수정하세요.
[php]
chcon -R -t httpd_user_content_t /Dmnr/www/html
[/php]
다시 보면 이렇습니다.
[php]
-rwxr-xr-x someuser somegroup user_u:object_r:httpd_sys_content_t index.php
…
[/php]
httpd를 다시 시작하면 일반 PHP가 작동합니다.
3. 데이터베이스
1. MySQL
그러나 데이터베이스를 읽고 쓸 때 SELinux에서 거부됩니다. /var/lib/mysql 또는 /var/lib/pgsql로 이동하여 권한에 문제가 없는지 확인하세요.
[php]
-rw-rw——- mysql mysql 루트:object_r:mysqld_db_t ibdata1
-rw-rw——- mysql mysql 루트:object_r:mysqld_db_t ib_logfile0
-rw-rw——- mysql mysql 루트:object_r:mysqld_db_t ib_logfile1
drwx —— mysql mysql root:object_r:mysqld_db_t mysql
srwxrwxrwx mysql mysql 루트:object_r:mysqld_var_run_t mysql.sock
drwx —— mysql mysql root:object_r:mysqld_db_t 테스트
[/php]
하지만 데이터가 있는 테스트 라이브러리를 살펴보면 자체 구축된 테이블에 여전히 SELinux 권한이 없다는 것을 알 수 있습니다. 상관없습니다. 수정하면 됩니다.
[php]
chcon -R -t mysqld_db_t /var/lib/mysql
[/php]
참고! 여기서 SELinux 속성은 mysqld_db_t
입니다.
2. pgsql
PostgreSQL 라이브러리도 열었지만 이 방법을 사용하여 속성을 수정하지 못했습니다.
[php]
chcon: 레이블이 지정되지 않은 파일 pgsql/data/base/23456에 부분 컨텍스트를 적용할 수 없습니다.
chcon: 레이블이 지정되지 않은 파일 pgsql/data/base/12345에 부분 컨텍스트를 적용할 수 없습니다
[/php]
/var/lib/pgsql/data/base로 이동하여 자체 빌드된 라이브러리 12345 및 23456에는 속성을 적용할 수 없는 것으로 나타났습니다. 정보 찾느라 정신이 없었는데 오랫동안 정보가 없었으니 잊어버리세요!
[php]
#su - postgres
위 내용은 관련 내용을 포함하여 Warning: DocumentRoot 오류에 대한 해결 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP는 현대 웹 개발, 특히 컨텐츠 관리 및 전자 상거래 플랫폼에서 중요합니다. 1) PHP는 Laravel 및 Symfony와 같은 풍부한 생태계와 강력한 프레임 워크 지원을 가지고 있습니다. 2) Opcache 및 Nginx를 통해 성능 최적화를 달성 할 수 있습니다. 3) PHP8.0은 성능을 향상시키기 위해 JIT 컴파일러를 소개합니다. 4) 클라우드 네이티브 애플리케이션은 Docker 및 Kubernetes를 통해 배포되어 유연성과 확장 성을 향상시킵니다.

PHP는 여전히 역동적이며 현대 프로그래밍 분야에서 여전히 중요한 위치를 차지하고 있습니다. 1) PHP의 단순성과 강력한 커뮤니티 지원으로 인해 웹 개발에 널리 사용됩니다. 2) 유연성과 안정성은 웹 양식, 데이터베이스 작업 및 파일 처리를 처리하는 데 탁월합니다. 3) PHP는 지속적으로 발전하고 최적화하며 초보자 및 숙련 된 개발자에게 적합합니다.

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

Apache는 데이터베이스에 연결하여 다음 단계가 필요합니다. 데이터베이스 드라이버 설치. 연결 풀을 만들려면 Web.xml 파일을 구성하십시오. JDBC 데이터 소스를 작성하고 연결 설정을 지정하십시오. JDBC API를 사용하여 Connections, 명세서 작성, 매개 변수 바인딩, 쿼리 또는 업데이트 실행 및 처리를 포함하여 Java 코드의 데이터베이스에 액세스하십시오.

PHP는 전자 상거래, 컨텐츠 관리 시스템 및 API 개발에 널리 사용됩니다. 1) 전자 상거래 : 쇼핑 카트 기능 및 지불 처리에 사용됩니다. 2) 컨텐츠 관리 시스템 : 동적 컨텐츠 생성 및 사용자 관리에 사용됩니다. 3) API 개발 : 편안한 API 개발 및 API 보안에 사용됩니다. 성능 최적화 및 모범 사례를 통해 PHP 애플리케이션의 효율성과 유지 보수 성이 향상됩니다.

PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.
