wget http://php.net/distributions/php-5.6.31.tar.gz
預設為Nginx和PHP他兩個之間是一點感覺沒有的。 Apache+PHP編譯後產生的是模組文件,而Nginx+PHP需要PHP產生可執行檔才可以,所以要利用fastcgi技術來實作Nginx與PHP的整合,這個只要我們安裝時啟用 FastCGI即可。這次我們安裝PHP不只使用了FastCGI,而且還使用了PHP-FPM這麼一個東東,PHP-FPM說白了是一個管理FastCGI的一個管理器,它作為PHP的插件存在,在安裝PHP時要想使用PHP-FPM就需要把PHP-FPM以補丁的形式安裝到PHP中,而且PHP要與PHP-FPM版本一致,這是必須的,記得!
tar -zxvf php-5.6.31.tar.gz cd php-5.6.3 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt --with-libxml-dir=/usr/local/libxml2/ --with-iconv-dir=/usr/local/libiconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring=all --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype --enable-shared --with-gd
在安裝過程中報了下面的錯誤:
原來是沒安裝外掛程式 gcc。
繼續安裝:
yum install gcc
外掛程式安裝完畢後,我們繼續安裝PHP
最後又報下列錯誤:
沒安裝libxml2插件,因為我的是新裝的centos系統,所以裡面會缺少各種依賴包,繼續安裝版libxml2插件:
yum install libxml2
提示:
libxml2已存在,可能libxml2-dev未安裝,我們安裝libxml2-devel
yum install libxml2-devel
安裝好後我們繼續安裝PHP,又提示:
我們安裝openssl外掛程式
yum install openssl openssl-devel
安裝完後我們繼續執行PHP的安裝,也報確實外掛程式liburl
安裝liburl
yum -y install curl-devel
安裝好後繼續執行PHP的安裝,報GD函式庫未安裝,我們繼續安裝GD函式庫
#yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y
繼續安裝PHP封包缺失插件libmcrypt
centos嘗試用yum安裝libmcrypt不成功,只能採用編譯安裝:
#使用wget可以通过以下路径下载 wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz #解压 tar -zxvf libmcrypt-2.5.7.tar.gz #进入目录 cd libmcrypt-2.5.7 #编译(默认安装到/usr/local/lib/) ./configure --prefix=/usr/local/libmcrypt #执行安装 make && make install
安裝完後繼續執行PHP的安裝,這回終於提示安裝成功:
編譯安裝:
make && make install
將原始碼中的php.ini-development複製到PHP的目錄下,並改名為PHP.ini
cp php.ini-development /usr/local/php/etc/php.ini
複製一份php-fpm設定文件,命名為php-fpm. conf(/usr/local/php/etc路徑下)
cp php-fpm.conf.default php-fpm.conf
啟動php-fpm
/usr/local/php/sbin/php-fpm
如果嫌打目錄麻煩,可以設定php-fpm的啟動腳本
cp php-5.6.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
啟動時,只要輸入
#启动 service php-fpm start #停止 service php-fpm stop #重启 service php-fpm reload
編譯安裝個PHP不容易啊,總結一下:
安裝PHP必須事先安裝的依賴套件有:gcc、libxml2、openssl、curl、libmcrypt,但每個人的環境不一樣,可能還會有不同的插件缺失,大家可根據提示去逐一安裝。
以上是php5.6在centos7下編譯安裝的圖文教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!