>  기사  >  백엔드 개발  >  PHP와 Apache의 관계와 기능에 대한 자세한 설명

PHP와 Apache의 관계와 기능에 대한 자세한 설명

不言
不言원래의
2018-04-26 09:21:301565검색

이 글의 내용은 php와 apache의 관계와 역할에 대한 자세한 설명입니다. 이는 어느 정도 참고할만한 가치가 있습니다. 이제 필요한 친구들이 참고할 수 있습니다.

이 글은 다음 두 기사:
자세히 PHP와 Apache의 관계와 역할 소개 https://blog.csdn.net/hongweideng/article/details/41723465

Apache 서버와 PHP 언어를 예로 들어 액세스 프로세스를 설명합니다. 동적 웹사이트 자세히 보기 https://www.cnblogs.com/sunscheung/p/4643281.html


현재 웹사이트 페이지는 주로 정적 페이지로 나누어져 있습니다. 순수 정적 페이지로 구성된 동적 페이지 현재 대형 웹사이트는 일반적으로 동적 웹사이트웹사이트 구축 기술을 사용하고 일부 웹사이트는 정적 웹페이지동적 웹페이지를 사용하여 공존합니다.

이 글에서는 Apache 서버와 PHP 언어를 예로 들어 동적 웹사이트의 액세스 프로세스를 자세히 설명합니다.



(1) 클라이언트가 서버 측 html 파일

에 액세스합니다. S1: 여기에 구성된 DNS 도메인 이름 서버 주소 machine DNS 서버를 찾아 웹사이트 URL의 웹 호스트 도메인 이름을 웹 서버가 위치한 Linux 운영 체제의 해당 IP 주소로 확인합니다. (Apache는 일반적으로 Linux 운영 체제와 함께 사용됩니다.)

S2: HTTP 프로토콜(Hypertext Transfer Protocol)을 통해 위 IP 주소의 서버 시스템에 연결하고 기본 포트 80을 통해 요청합니다(기본 포트는 80이며 다른 포트도 있지만 일반적으로 사용하지 않습니다). URL을 입력할 때 포트를 입력해야 함) HTML 파일(예: index.htm)을 Apache 서버의 해당 디렉터리에 저장해야 합니다.

S3: Apache 서버는 사용자의 액세스 요청을 받은 후 자신이 관리하는 문서 디렉터리에서 해당 html 파일(예: index.htm)을 찾아 열고 파일 내용으로 클라이언트 브라우저에 응답합니다. (즉, 사용자).

S4: 브라우저는 웹 서버로부터 응답을 받은 후 서버측 html 정적 코드를 수신 및 다운로드합니다. 그런 다음 브라우저는 코드를 해석하고 최종적으로 웹 페이지를 렌더링합니다(브라우저마다 해석 규칙이 다르기 때문). 따라서 동일한 웹페이지에 대해 서로 다른 브라우저에서 렌더링되는 최종 페이지 효과는 달라집니다.


(2) 클라이언트가 서버 측 PHP 파일

에 액세스합니다. S1: 이 단계는 위의 html 정적 웹 페이지에 액세스하는 것과 동일하며, 해당 응답은 DNS 서버를 통해 구문 분석됩니다. 웹 서버의 IP 주소입니다.

S2: 위의 html 정적 페이지에 접근하는 것과 유사하지만 최종 요청은 index.php와 같은 Apache 서버의 해당 디렉터리에 있는 php 파일입니다.

S3: 아파치 서버 자체는 PHP 동적 언어 스크립트 파일을 처리할 수 없기 때문에 이를 처리하기 위해 PHP 애플리케이션 서버를 찾아 맡깁니다. (서버는 PHP 애플리케이션 서버를 미리 설치해야 합니다.) 사용자가 요청한 PHP 파일(예: index.php)을 PHP 응용 프로그램 서버로 처리합니다.

S4: PHP 애플리케이션 서버는 php 파일(예: index.php)을 수신하고, php 파일을 열고 해석하고, 마지막으로 이를 html 정적 코드로 변환한 다음 html 정적 코드를 Apache에 반환합니다. 그러면 Apache 서버는 html 정적 코드가 클라이언트 브라우저(즉, 사용자)에 출력됩니다.

S5: 위의 html 정적 페이지에 액세스하는 것과 동일합니다. 브라우저가 웹 서버로부터 응답을 받은 후 서버 측 html 정적 코드를 수신하여 다운로드한 다음 브라우저가 html 정적 코드를 디코딩하고 마침내 코드를 읽습니다. 웹 페이지가 렌더링됩니다. (3) 사용자의 MySQL 데이터베이스가 서버 측에 액세스합니다



사용자가 MySQL 데이터베이스의 데이터를 조작해야 하는 경우 서버에 데이터베이스 관리 소프트웨어 MYSQL 서버를 설치해야 합니다. 웹사이트 데이터를 저장하고 관리하는 쪽입니다. 아파치 서버는 MySQL 서버에 접속하여 운영할 수 없기 때문에 PHP 애플리케이션 서버도 설치해야 한다. 이렇게 하면 아파치 서버는 데이터베이스의 데이터를 관리할 때 PHP 애플리케이션 서버에 위임하게 된다. 일반적으로 쿼리문, 즉 SQL문을 사용해야 합니다.

S1: 이 단계는 위의 php 파일에 접속하는 것과 동일하며, DNS 서버를 통해 해당 웹 서버의 IP 주소를 확인합니다.

S2: 위의 php 파일에 접근하는 것과 마찬가지로 아파치 서버의 해당 디렉터리에 있는 php 파일에 접근을 요청합니다.

S3: 위의 php 파일에 접근하는 것과 마찬가지로 PHP 애플리케이션 서버는 Apache 서버로부터 위임을 받아 해당 php 파일을 받습니다.

S4: PHP 애플리케이션 서버는 php 파일을 열고, php 파일에 있는 데이터베이스 연결 코드를 통해 이 컴퓨터 또는 네트워크의 다른 컴퓨터에 있는 MySQL 데이터베이스를 연결하고, php 프로그램에서 표준 SQL 쿼리 문을 실행하여 이를 얻습니다. 그런 다음 데이터베이스의 데이터는 PHP 애플리케이션 서버를 통해 HTML 정적 코드로 생성됩니다.

S5: 브라우저는 웹 서버로부터 응답을 받은 후 서버 측 html 정적 코드를 수신 및 다운로드한 다음 브라우저가 코드를 해석하고 최종적으로 웹 페이지를 렌더링합니다.

주의해야 할 점은 기사의 (2)와 (3)의 차이점은 하나는 데이터베이스에 액세스하고 다른 하나는 그렇지 않다는 것이므로 프로세스에 약간의 차이가 있습니다.

관련 권장사항:

php와 Apache 설치 및 구성 예시 공유

php와 Apache의 관계와 역할에 대한 자세한 설명

위 내용은 PHP와 Apache의 관계와 기능에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 롤링 복권 코드다음 기사:PHP 롤링 복권 코드