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個地方:
一、ServerName
二、Require all denied
三、AddType application/x-httpd-php .php
四、DirectoryIndex index.html index.phpphp

一、ServerNamehtml

好比以前命令 /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 結合apache

二、Require all deniedvim

這邊須要增長一行配置,如今先查看一下 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 結合
這樣才能夠保證網頁是容許訪問的。瀏覽器

三、AddType application/x-httpd-php .php
四、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!,這幾個字。php7

因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 能夠退出上圖界面。app

相關文章
相關標籤/搜索