Apache 和 PHP 結合

Apache 和 PHP 結合

先輸入命令 vim /usr/local/apache2.4/conf/httpd.conf,回車查看,見下圖,
Apache 和 PHP 結合
e2.4/conf/httpd.conf /usr/local/apache2.4/conf/httpd.conf /usr/loc
解析php,這邊需要修改以下4個地方:
1、ServerName
2、Require all denied
3、AddType application/x-httpd-php .php
4、DirectoryIndex index.html index.php

1、ServerName

比如之前命令 /usr/local/apache2.4/bin/apachectl restart,回車,見下圖,
Apache 和 PHP 結合
這段提示看似報錯,其實是正常的提示。如果我們不想看到這段話,就可以在文件 /usr/local/apache2.4/conf/httpd.conf 裏面更改。重新使用 vim 進入文件,搜索 /ServerName,具體更改見下圖,
Apache 和 PHP 結合
將上圖紅色框框內的#去掉,保存並退出。重新輸入剛纔的命令,見下圖,
Apache 和 PHP 結合
這邊出現錯誤提示,顯示79行有問題,使用 vim 命令再次進入查看,見下圖,
Apache 和 PHP 結合
找到79行,在行首用#註釋掉內容,保存並退出,接着restart,見下圖,
Apache 和 PHP 結合
錯誤還是存在,停掉後重新打開還是這樣。這時候就該想到應該是打開了兩個php的結果。使用 !vim 命令,進入,把79行的#去掉,恢復原來的狀態,將php7用#註釋掉,見下圖,
Apache 和 PHP 結合
保存並退出,再嘗試重啓,見下圖,
Apache 和 PHP 結合
這時候就沒有提示了。很明顯,php5和php7是有衝突的。接着看一下進程,輸入命令 ps aux |grep httpd,回車,見下圖,
Apache 和 PHP 結合

2、Require all denied

這邊需要增加一行配置,現在先查看一下 IP,輸入命令 ifconfig,回車,見下圖,
Apache 和 PHP 結合
IP 就是上圖紅色框框顯示的 192.168.218.128 。然後在瀏覽器上的地址欄裏面輸入 IP 地址,回車,見下圖,
Apache 和 PHP 結合
一會之後,可以看到 IP 是無法訪問的,藍色的字體提示“檢查代理服務器和防火牆”。那麼,遇到這種問題,要怎麼排查呢?先在Windows上 cmd 裏面 ping 一下 IP,見下圖,
Apache 和 PHP 結合
可以看到 IP 是可以通的,接着再判斷它的 80 端口。上圖顯示沒有 telnet 這個命令,是因爲我們沒有打開 telnet 客戶端,現在將這個客戶端的程序打開,具體操作見下圖,
Apache 和 PHP 結合
先打開“控制面板”,點擊“程序”,進入下圖,
Apache 和 PHP 結合
點擊“啓用或關閉Windows功能”,進入下圖,
Apache 和 PHP 結合
選中“Telnet客戶端”,再點擊“確定”,一會之後,就顯示下圖,
Apache 和 PHP 結合
點擊關閉即可,返回Windows的cmd,重新輸入命令 telnet 192.168.128.218 80,回車,見下圖,
Apache 和 PHP 結合
顯示 80 端口連接失敗。因爲 Linux 虛擬機上並沒有打開 80 端口,可以在 putty 上使用命令 iptables -nvL 來查看,見下圖,
Apache 和 PHP 結合
Apache 和 PHP 結合
Apache 和 PHP 結合
可以看到沒有 80 端口,要想讓 Windows 訪問 80 端口,可以使用命令 iptables -I INPUT -p tcp --dport 80 -j ACCEPT ,臨時加上 80 端口,見下圖,
Apache 和 PHP 結合
執行完上述命令,回到 Windows 的 cmd 上,重新輸入剛纔的命令 telnet 192.168.218.128 80,回車,見下圖,
Apache 和 PHP 結合
進入這樣子的界面,就表示 80 端口通了。按住 ctrl+】,就可以退出上圖界面,再輸入命令 quit,可以返回到原來的界面。見下圖,
Apache 和 PHP 結合
再回到瀏覽器上刷新剛纔的IP地址,見下圖,
Apache 和 PHP 結合
可以看到幾個大字“It works!”,這樣子就表示可以訪問了。
回到 putty 上,輸入命令 vim /usr/local/apache2.4/conf/httpd.conf,回車,搜索 /Require,回車,見下圖,
Apache 和 PHP 結合
這邊需要把上圖兩個紅色框框裏的內容做個更改,見下圖,
Apache 和 PHP 結合
保存並退出。改完配置後,使用命令 /usr/local/apache2.4/bin/apachectl -t ,來檢查配置文件的語法是否正確。見下圖,
Apache 和 PHP 結合
可以看到結果是 OK,說明配置文件的語法沒有問題。可以故意在配置文件裏面加一些任意內容,見下圖,
Apache 和 PHP 結合
保存並退出,重新執行命令 /usr/local/apache2.4/bin/apachectl -t,見下圖,
Apache 和 PHP 結合
就能看到報錯了,所以這是個很有用的命令,可以檢測配置文件的語法。再把配置文件改回去,這邊不顯示過程了。接着重新加載配置文件,使用命令 /usr/local/apache2.4/bin/apachectl graceful,回車,見下圖,
Apache 和 PHP 結合
然後回到瀏覽器上,刷新剛纔的 IP 地址,見下圖,
Apache 和 PHP 結合
就會看到顯示禁止的頁面,就是不允許訪問的意思。所以,回到配置文件那邊,要把兩邊的內容都改爲 granted,保存並退出,見下圖,
Apache 和 PHP 結合
這樣纔可以保證網頁是允許訪問的。

3、AddType application/x-httpd-php .php
4、DirectoryIndex index.html index.php

增加一行與 php 相關的內容,輸入命令 vim /usr/local/apache2.4/conf/httpd.conf,回車,搜索 /AddType,回車,找到下圖內容,
Apache 和 PHP 結合
增加紅色框框的內容 AddType application/x-httpd-php .php,再次搜索 /Index,回車,找到下圖內容,
Apache 和 PHP 結合
增加紅色框框的內容 index.php,保存並退出。然後檢查一下配置文件語法,並重新加載配置文件,見下圖,
Apache 和 PHP 結合
現在來驗證一下,apache 能不能支持解析 php,先來寫一個測試的 php 腳本,輸入命令 vi /usr/local/apache2.4/htdocs/1.php,回車,見下圖,
Apache 和 PHP 結合
輸入上圖內容,保存並退出。接着回到瀏覽器,訪問地址 192.168.218.128/1.php,
Apache 和 PHP 結合
可以看到這個很漂亮的頁面,說明php就支持解析成功了。現在來看一下,不支持解析的話,會出現什麼頁面?到 putty 上更改配置文件,輸入命令 vim /usr/local/apache2.4/conf/httpd.conf,回車,見下圖,
Apache 和 PHP 結合
將上圖紅色框框的這一行,用#號註釋掉,保存並退出。接着檢查和加載配置文件,見下圖,
Apache 和 PHP 結合
然後回到瀏覽器,刷新頁面,見下圖,
Apache 和 PHP 結合
出現的就是源代碼,這就是php不能解析的情況。所以,以後碰到php不能解析的情況,就要檢查一下apache文件,首先要檢查php有沒有加載,使用命令 /usr/local/apache2.4/bin/apachectl -M,回車,見下圖,
Apache 和 PHP 結合
可以看到最後一項有php5。如果沒有加載的話,要看一下有沒有這個模塊文件,輸入命令 ls /usr/local/apache2.4/modules/libphp5.so,回車,見下圖,
Apache 和 PHP 結合
沒有這個文件的話,就無法加載php。如果有文件,而加載項裏面沒有顯示php的話,就要檢查配置文件了,輸入命令 vim /usr/local/apache2.4/conf/httpd.conf,回車,搜索 /libphp5.so,見下圖,
Apache 和 PHP 結合
查看有沒有上圖紅色框框這一行,沒有的話,肯定就不能解析了。接下來繼續檢查,搜索 /AddType,回車,見下圖,
Apache 和 PHP 結合
查看有沒有紅色框框這一行,然後仔細認真查看,紅色框框的內容格式是否正確,這邊可以使用命令 /usr/local/apache2.4/bin/apachectl -t 來檢查。接着搜索 /index.php,回車,見下圖,
Apache 和 PHP 結合
注意上圖紅色框框的內容是否有添加上去。這個是索引的作用,使用命令 ls /usr/local/apache2.4/htdocs/,回車,見下圖,
Apache 和 PHP 結合
裏面有個 index.html 文件,這就是之前在上上圖定義了 index.php,這邊就可以直接跳轉訪問 index.html 這個文件,所以在瀏覽器上訪問 192.168.218.128 時,會出現 It works!,這幾個字。

因php5和php7不能共存,現在來試試php7。進入配置文件,搜索 /libphp,回車,見下圖,
Apache 和 PHP 結合
更改上圖紅色框框的內容,見下圖,
Apache 和 PHP 結合
保存並退出,接着檢查和加載配置文件,見下圖,
Apache 和 PHP 結合
回到 瀏覽器,刷新頁面,見下圖,
Apache 和 PHP 結合
也是可以看到這個漂亮的頁面,這邊注意版本號,和前面的php5是不一樣的。說明php7也生效了,可以解析的。在putty上輸入命令 /usr/local/php7/bin/php -i |less,回車,見下圖,
Apache 和 PHP 結合
可以看到,網頁上顯示的內容和這邊的內容,基本上是一致的。按字母 q 可以退出上圖界面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章