首先,說一下問題發生的場景: 因為懶,所以用 yum 安裝 apache ,因為 centos 的源自帶 php 5.4 不能符合環境要求,而不想用其他源,所以選擇源碼編譯安裝 php 5.6 安裝完畢後,apache 不解析 php ,不解析的現象是瀏覽器直接顯示或下載了 php 文件的源代碼 過 ...
首先,說一下問題發生的場景:
因為懶,所以用 yum 安裝 apache ,因為 centos 的源自帶 php 5.4 不能符合環境要求,而不想用其他源,所以選擇源碼編譯安裝 php 5.6
安裝完畢後,apache 不解析 php ,不解析的現象是瀏覽器直接顯示或下載了 php 文件的源代碼
過程略帶說一下了,具體步驟自行搜索,然後重點說下容易踩的幾個坑
1. yum 安裝 apache 後,必須安裝依賴包 httpd-devel ,否則是不存在文件 apxs 的,而 apxs 的路徑在編譯 php 時需要配置
yum install httpd yum install httpd-devel
2. 查看 apsx 所在路徑
rpm -ql httpd-devel|grep apxs /usr/bin/apxs //此行為 grep 結果,不同系統的路徑可能不同,以實際結果為準,下同 /sur/share/man/man1/apxs.1.gz
3. 編譯php時,加入 apxs 路徑參數,作用是促使生成 libphp5.so
./configure \
--with-apxs2=/usr/bin/apxs
4. 安裝
make && make install
5. 配置服務、啟動服務、環境變數,此處略
6. 修改apache配置文件,Centos7.4 下的apache2.4的配置文件路徑為
vim /etc/httpd/conf/httpd.conf
//在LoadModule後面添加:LoadModule php5_module modules/libphp5.so //不添加則訪問.php文件將會變成下載 //在DirectoryIndex後面添加:index.php //在AddType application/x-gzip .gz .tgz後面添加:AddType application/x-httpd-php .php //.php前面有一個空格
7. 重啟服務