centos7 apache無法解析php
作業系統:centos7.2 x64
使用yum安裝完apache、php7、mariadb之後,發現apache可以解析html檔案,但是不能解析php檔案。(如圖)
我覺得可能是我安裝lamp的順序不對,然後以如下順序安裝:php7、mariadb、apache和apache、php7、mariadb,發現均無法解析php檔案。上網搜尋解決方案,說要安裝mod_php模組,我試了半天,沒有發現mod_php這個檔案怎麼安裝,並且/etc/httpd/conf.modules.d/目錄下也沒有關於php的配置檔案。網上說或者重新編譯apache,我不想搞這麼麻煩,於是就沒試。
我後來看我其他的雲伺服器,他們用的都是lamp,版本都和這個伺服器一樣,但是他們卻都有一個名為php7_module的apache模組,然後我把這個模組檔案(目錄可以百度出來)複製到有問題的伺服器上,然後複製相應的配置檔案(/etc/httpd/conf.modules.d/目錄下有一個叫php什麼的檔案,這個就是對應的配置檔案),如圖。
然後重啟apache,發現問題解決。
難道每次都要弄這麼麻煩?
事後我想,能不能換用php-fpm呢?
上網搜教程,配置apache來使用php-fpm,並寫好配置檔案,內容如下
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
儲存到/etc/httpd/conf.modules.d/10-php-fpm.conf,然後啟動php-fpm,並重啟apache,php檔案解析成功。如圖:
可以看到,使用的是FPM模式。
今天(2018.2.5)看到了一篇部落格,發現可以直接使用yum命令來安裝apache的mod_php模組:yum install mod_php71w
如果沒有這個安裝包,可以嘗試著新增一下源:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
參考資料:
http://www.onepx.com/from-apache-mod-php-to-php-fpm.html
原文地址: