개발 꿀팁/PHP

Apache와 PHP 결합

Jammie 2022. 7. 16. 14:54
반응형

Apache와 PHP 결합
PHP를 지원하는 HTTP 설정
ServerName
Require alld에니드
AddType application/x-httpd-php.php //PHP 해석
DirectoryIndex index.html index.php

[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

고치다.

서버Name 줄 찾기, 설명 취소

ServerName www.example.com:80

Require all을 찾아서 Require all denied를 Require all granted로 바꾸거나, 그렇지 않으면 403으로 돌아갑니다

<Directory />
    AllowOverride none
    Require all granted
</Directory>

Require all granted

찾다
AddType application/x-compress.Z
AddType application/x-gzip.gz.tgz

증가하다

AddType application/x-httpd-php .php  //이 행을 추가한 목적은 php 파일을 해석하기 위해서입니다

찾다

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

늘리다

<IfModule dir_module>
    DirectoryIndex index.html index.php //인덱스 페이지 추가index.php
</IfModule>

프로필 구문 오류 감지

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK

프로필을 다시 불러오는 것이 중요합니다(평소 프로필 수정 후 프로필 문법을 확인한 후 서비스를 다시 시작합니다.서비스를 다시 시작하기 전에 프로필을 다시 불러오면 프로필이 잘못되어도 서비스 진행 중에 죽임을 당하지 않습니다)

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

설정 성공

PHP 접속은 사실 접속입니다 (/usr/local/apache 2.4/htdocs/*.php)
설정 파일의 행은 다음과 같습니다

DocumentRoot "/usr/local/apache2.4/htdocs" // 이 줄은 접속 목록을 규정하고 있다

<Directory "/usr/local/apache2.4/htdocs"> //이것은 접근 디렉터리에 대한 설정입니다.

이 디렉터리 아래에 1.php 파일 쓰기

[root@shuai-01 ~]# vi /usr/local/apache2.4/htdocs/1.php

<?php
phpinfo();//이 함수는 PHP 관련 정보를 출력할 수 있다
?>

저장 종료 후 액세스 시작

1번으로 해석 가능한 페이지는 성공, 해석할 수 없는 것은 페이지 소스코드입니다

해명하지 못한 문제를 조사하다.

1, P가 로드되었는지 검사HP5 모듈

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -M

2,모듈을 로드하지 않고 apache에 모듈 파일이 있는지 확인합니다

[root@shuai-01 ~]# ls /usr/local/apache2.4/modules/libphp5.so 
/usr/local/apache2.4/modules/libphp5.so

3.apache 구성 파일에 libphp5.so 로딩된 구성이 있는지 확인

[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

LoadModule php5_module        modules/libphp5.so

4, 프로필에 추가 여부 보기

AddType application/x-httpd-php.php

질문 1:
Apache 서비스 시작 가능잘못 신고한 사람도 있지만, 이것은 사실 일종의 경보이다

설정 파일 작성 (/usr/local/apache 2.4/conf/httpd.conf):

서버Name 줄 찾기, 설명 취소

ServerName www.example.com:80

질문 2:
Apache 서비스 시작 시 반환될 수 있는 오류 보고

/usr/local/apache2.4/bin/apachectl: 行 79:  3519 세그먼트 오류               $HTTPD -k $ARGV

네가 PHP 모듈 두 개를 달았는데 한 개가 빠졌다

LoadModule php5_module        modules/libphp5.so
#LoadModule php7_module        modules/libphp7.so

질문 3:

검색 방법:

1.IP가 통하는지 확인한다

IP통, 80포트 열림 여부 다시 보기

왜냐하면 Windows에서 텔넷 클라이언트를 열지 않았기 때문입니다.
클라이언트 열기
제어판 - 프로그램 - Windows 기능 켜기 또는 끄기

이것은 텔넷을 켰는데, 통하지 않았다(서비스에 규칙이 없다 iptables)

0시에 리눅스에 규칙 추가

[root@shuai-01 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

이때 텔넷이 포트를 보고

통하다

브라우저를 새로 고치다

반응형