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
이때 텔넷이 포트를 보고
통하다
브라우저를 새로 고치다
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHPStorm PHP코드 실행(초보자 튜토리얼) (0) | 2022.07.18 |
---|---|
php 실행 명령 함수 (0) | 2022.07.16 |
LAMP 환경 구축 및 PHP 사이트 배포 (0) | 2022.07.16 |
PHP8 신기능 소개 (0) | 2022.07.16 |
PHP에서 시스템 명령 실행 (disable_functions 바이패스) (0) | 2022.07.15 |