天天看點

Centos7.2 編譯安裝PHP7.0.2的步驟

環境

  1. 系統:Centos7.2
  2. 服務:Nginx

1:下載下傳PHP7.0.2的安裝包解壓,編譯,安裝:

$ cd /usr/src/
  $ wget http://cn2.php.net/distributions/php-7.0.2.tar.gz
  $ tar -xzxvf php-7.0.2.tar.gz
  $ cd php-7.0.2           

複制

1.1編譯前檢查

請檢查是否安裝了gcc ,沒有的話執行yum install gcc

檢查是否安裝了libxml2 ,沒有的話執行yum install libxml2

檢查是否安裝了libxml2-devel,沒有的話執行yum install libxml2-devel

注:因為改為用nginx了,是以編譯參數中的–with-apxs2=/usr/bin/apxs去掉了,如果要配置apache用,安裝PHP前,請先安裝apache。*

2:編譯參數配置

複制代碼 代碼如下:

‘./configure’ ‘–prefix=/usr/local/php’ ‘–with-pdo-pgsql’ ‘–with-zlib-dir’ ‘–with-freetype-dir’ ‘–enable-mbstring’ ‘–with-libxml-dir=/usr’ ‘–enable-soap’ ‘–enable-calendar’ ‘–with-curl’ ‘–with-mcrypt’ ‘–with-gd’ ‘–with-pgsql’ ‘–disable-rpath’ ‘–enable-inline-optimization’ ‘–with-bz2’ ‘–with-zlib’ ‘–enable-sockets’ ‘–enable-sysvsem’ ‘–enable-sysvshm’ ‘–enable-pcntl’ ‘–enable-mbregex’ ‘–enable-exif’ ‘–enable-bcmath’ ‘–with-mhash’ ‘–enable-zip’ ‘–with-pcre-regex’ ‘–with-pdo-mysql’ ‘–with-mysqli’ ‘–with-jpeg-dir=/usr’ ‘–with-png-dir=/usr’ ‘–enable-gd-native-ttf’ ‘–with-openssl’ ‘–with-fpm-user=www-data’ ‘–with-fpm-group=www-data’ ‘–with-libdir=/lib/x86_64-linux-gnu/’ ‘–enable-ftp’ ‘–with-gettext’ ‘–with-xmlrpc’ ‘–with-xsl’ ‘–enable-opcache’ ‘–enable-fpm’ ‘–with-iconv’ ‘–with-xpm-dir=/usr’

3:錯誤集合

報錯 Cannot find OpenSSL's <evp.h>
 執行 yum install openssl openssl-devel

報錯 Please reinstall the libcurl distribution
 執行 yum -y install curl-devel

錯誤 jpeglib.h not found
 執行 yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
 和執行 yum install libjpeg-devel

錯誤:checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution 這是bzip2軟體包沒有安裝
 執行 yum install bzip2-devel.x86_64 -y

錯誤:configure: error: xpm.h not found.
 執行 yum install libXpm-devel

錯誤: Unable to locate gmp.h
 執行 yum install gmp-devel

錯誤:Unable to detect ICU prefix or /usr//bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works
 執行 yum install -y icu libicu libicu-devel

錯誤:mcrypt.h not found. Please reinstall libmcrypt.
 執行 yum install php-mcrypt libmcrypt libmcrypt-devel

錯誤: configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
 執行 yum install postgresql-devel

錯誤: configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
 執行 yum install libxslt-devel           

複制

4:編譯

make clean && make && make install           

複制

5:PHP配置

5.1安裝完成後,我們要把源碼包中的配置檔案複制到PHP安裝目錄下,源碼包中有兩個配置 php.ini-development php.ini-production ,看名字就知道,一個是開發環境,一個是生産環境,我們這裡就複制開發環境的

cp php.ini-development /usr/local/php/lib/php.ini           

複制

5.2另外還需要設定環境變量 :修改/etc/profile檔案使其永久性生效,并對所有系統使用者生效,在檔案末尾加上如下兩行代碼

PATH=$PATH:/usr/local/php/bin
export PATH           

複制

5.3 然後執行生效指令

source /etc/profile           

複制

5.4檢視PHP版本資訊

php -v           

複制

6:配置PHP-fpm

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

cp /usr/src/php-7.0.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm           

複制

6.1 啟動php-fpm:

/etc/init.d/php-fpm start           

複制

6.2 如果出現錯誤:ERROR: [pool www] cannot get uid for user ‘www-data’

則建立www-data 使用者組:

groupadd www-data
useradd -g www-data www-data           

複制

6.3 重新開機php-fpm

/etc/init.d/php-fpm restart           

複制

以上就是本文的全部内容,希望對大家的學習有所幫助。