本文主要和大家分享Apache和PHP結合實現代碼,希望能協助到大家。
Apache和PHP結合
配置httpd支援PHP
ServerName
Require all denied
AddType application/x-httpd-php .php //解析PHP
DirectoryIndex index.html index.php
[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf
修改
找到ServerName 行,取消注釋
ServerName www.example.com:80
找到Require all,
<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
找到
<IfModule dir_module> DirectoryIndex index.html</IfModule>
增加為
<IfModule dir_module> DirectoryIndex index.html index.php</IfModule>
檢測設定檔文法是否有錯誤
[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK
重新載入設定檔
[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
配置成功
訪問PHP其實是訪問(/usr
/local/apache2.4/htdocs/*.php)在該目錄下寫一個1.php 文
件
[root@shuai-01 ~]# vi /usr/local/apache2.4/htdocs/1.php<?phpphpinfo();?>
儲存退出後開始訪問
能解釋1出來的頁面就成功了,不能解釋出來的就是頁面原始碼
沒解釋出來的問題排查
1, 檢查有沒有載入PHP5的模組
[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -M
2,沒載入模組,看有沒有模組檔案
[root@shuai-01 ~]# ls /usr/local/apache2.4/modules/libphp5.so /usr/local/apache2.4/modules/libphp5.so
3,查看設定檔中有沒有載入libphp5.so的配置
[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/httpd.confLoadModule php5_module modules/libphp5.so
4,看設定檔中有沒有加
AddType application/x-httpd-php .php
問題1:
Apache服務開啟可能回有的報錯
編寫設定檔(/usr/local/apache2.4/conf/httpd.conf):
找到ServerName 行,取消注釋
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沒有開啟Telnet用戶端
開啟用戶端
控制台-程式-開啟或關閉Windows功能
這是就開啟了Telnet,但是沒通(服務端沒規則iptables)
在linux添加規則
[root@shuai-01 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT