1. 程式人生 > >CentOS7 編譯安裝 php7

CentOS7 編譯安裝 php7

壓縮 images php擴展 環境 download 生成 tps conf 截圖

LNM都齊了,就差p了

先下載php源碼包,最好是到官網 php.net,下載後備用。安裝眾多依賴

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

作者:An Sao
鏈接:https:
//www.zhihu.com/question/50615606/answer/145699091 來源:知乎 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

技術分享

別的還好,就是遇到了 libmcrypt 和 libmcrypt-devel 的問題。一通百度發現還挺麻煩,似乎是幾個比較獨立的組件,使用下載+手動安裝的方式先解決掉它們。下載的 tar.gz 包解壓縮到 Downloads 文件夾,依次執行以下命令

sudo ./configure
sudo make
sudo make install

安裝後執行 whereis 查看一下裝在了哪裏

技術分享

下載並安裝 mhash,套路依舊是

sudo tar -zxv -f mhash-0.9.9.9.tar.gz
sudo ./configure
sudo make
sudo make install

安裝 mcrypt,這次套路有了不同

sudo LD_LIBRARY_PATH=/usr/local/lib ./configure
sudo make
sudo make install

運行 ./configure 時就遇到了問題

技術分享

看描述似乎是找不到它需要的 libmcrypt,百度一通找到一篇《Linux下解決php擴展模塊mcrypt的問題》的博文,裏邊前輩已經描述比較詳細,但到我這兒還是不成功依舊是該錯誤,頭疼。。。但疼痛一會兒耐著性子研究一下提示,並查看了 libmcrypt-config 文件中的內容,發現一些蹊蹺。首先根據前輩提示,指定路徑很重要,目標放在路徑還是寫的不正確上,libmcrypt-config文件中顯示的 prefix 是 /usr/local,而我之前通過 whereis 查看的都是 /usr/local/lib,大著膽子把命令修改成這樣

sudo LD_LIBRARY_PATH=/usr/local:/usr/local/lib ./configure --witrypt-prefix=/usr/local

/usr/local 是告訴命令 libmcrypt 的路徑,/usr/local/lib 是告訴命令 mhash 的路徑,運行後居然過去了

技術分享

先認為成功了吧,按照博文只是,下一步是生成 mcrypt.so 擴展包,需要進入 php 解壓目錄去操作。所以先完成 php 的安裝再回來做它。用老套路安裝 php

cd php-7.1.9
sudo ./configure [options]
sudo make
sudo make install

php的編譯和安裝還是費一些時間的,信息量巨大此處省略截圖,碰到了一些錯誤信息

技術分享

看提示,似乎 build ok 但安裝 error,檢討一下剛才不應該 sudo make && make install,拆成一個個執行。結果再次執行 sudo make 時就提示

技術分享

那我就執行一下 make test 看看是什麽 ...... 一堆似乎無窮的信息噴薄滾動而出,我後悔了,百度了一下,似乎是手賤了,php 的自動化測試,我運行的有點兒太早了。趕快 ctrl+c 運行最後的 sudo make install

技術分享

安裝還是很快的,php 基本安裝結束!

一些經驗:

  • 先安裝 libmcrypt 和 mhash,兩者之間沒有依賴關系,但 mcrypt 依賴二者

一些鏈接:

  • 參考來自知乎的文章:https://www.zhihu.com/question/50615606/answer/145699091
  • 參考《搭建阿裏雲lnmp環境》:http://www.cnblogs.com/feng18/p/6491386.html
  • 參考《CentOS下php安裝mcrypt擴展》:http://blog.csdn.net/zy112289/article/details/52840062
  • libmcrypt在:http://mcrypt.hellug.gr/lib/(版本老)
  • libmcrypt-2.5.8:http://vdisk.weibo.com/s/cWruOGX-d97N2
  • mhash:http://mhash.sourceforge.net/
  • 參考《Linux下解決php擴展模塊mcrypt的問題》:http://blog.csdn.net/alexdream/article/details/7408577

CentOS7 編譯安裝 php7