1. 程式人生 > >centos7編譯安裝php

centos7編譯安裝php

vm安裝php,系統為centos7,php版本為5.6.15。
首先解壓,進入原始碼目錄:
這裡寫圖片描述

對原始碼進行編譯配置:
這裡寫圖片描述

配置引數:

./configure --prefix=/usr/local/php --enable-fpm --with-curl --with-openssl --enable-mbregex --with-mysql --with-mysqli --with-mysql-sock --enable-pdo --with-pdo-mysql --enable-mysqlnd --with-gd --with-zlib --enable-zip --with-bz2
--enable-xmlreader --enable-xmlwriter --enable-mbstring --with-xmlrpc --with-libxml-dir=/usr --enable-soap --enable-sockets --enable-pcntl --enable-exif --enable-bcmath --with-mhash --enable-ftp --enable-opcache --disable-fileinfo --with-apxs2=/usr/local/apache2/bin/apxs --with-pear
部份引數說明:
--with-apxs2=/usr/local
/apache2/bin/apxs 使php做為apache的一個模組來進行編譯,與apache的--enable-so引數相合,此目錄為你安裝apache的目錄;
--with-curl 開啟curl瀏覽工具的支援; --enable-fpm CGI方式安裝的啟動程式; --with-openssl 開啟openssl支援,加密傳輸https時能用到 --enable-bcmath 開啟圖片大小調整,用到zabbix監控的時候用到了這個模組 --with-mhash mhash演算法擴充套件 --enable-sockets 開啟 sockets 支援
--enable-exif 開啟圖片的元資料支援 --enable-ftp 啟用ftp支援 --enable-mbstring 啟用多位元組字串支援 --with-pear 開啟pear命令的支援

開始configure,發生一個錯誤:
這裡寫圖片描述

看錯誤的描述,是系統中缺少libxml庫,使用yum進行安裝:
這裡寫圖片描述

安裝完成後繼續configure,還是有錯誤發生:
這裡寫圖片描述

看錯誤資訊描述,是系統中缺少bzip2,好吧,繼續安裝:
這裡寫圖片描述

衝破千難萬險,繼續configure,繼續看錯誤:
這裡寫圖片描述
錯誤資訊提示是系統中缺少libcurl庫,安裝:
這裡寫圖片描述

繼續配置,繼續發生錯誤的旅程:
這裡寫圖片描述
看這些錯誤資訊,是缺少jpeg/png等的庫,繼續安裝:(
這裡寫圖片描述

庫安裝完成後,繼續./configure,好吧,這次終於沒有再出現錯誤了,淚流滿面啊5555。。。
這裡寫圖片描述

好了,可以開始make和make install了:)
這裡寫圖片描述
make &&make install的時間大概需要幾分鐘,這個看機器的配置了。

到apache目錄中看一下編譯的php模組:
這裡寫圖片描述
看到編譯出來的libphp5.so模組,編輯apache的配置檔案httpd.conf,咦,我靠,竟然自己加入到配置檔案中了,省事了:)
這裡寫圖片描述

做下測試,看看apache和php的安裝情況如何:
這裡寫圖片描述
編輯一個檔案,輸出最經典的phpinfo();
這裡寫圖片描述

咦,在瀏覽器裡輸入IP/a.php後,發現找不到伺服器,怎麼回事??
噢,想起來了,可能是防火牆沒關掉。。
這裡寫圖片描述

關掉防火牆後再試一次,這次出現資訊了,但不是期望的資訊,apache伺服器沒有解析php,而是將程式碼當成文字進行原樣輸出了,為什麼??

回想一下操作過的步驟,恩,apache的配置檔案還是有問題,繼續修改httpd.conf,在其最後加一行:
這裡寫圖片描述

讓apache知道去解析php檔案,然後再用瀏覽器檢視一下:
這裡寫圖片描述

終於出來了這個熟悉的介面,哈哈,大功告成,可以睡覺了:)