操做環境:php
1.系統:Centos7.2 mysql
2.服務:Nginxlinux
一、下載PHP7.0.2的安裝包解壓,編譯,安裝:nginx
$ cd /usr/src/ $ wget http://cn2.php.net/distributions/php-7.0.2.tar.gz $ tar -zxvf php-7.0.2.tar.gz $ cd php-7.0.2
1.1 編譯前檢查sql
請檢查是否安裝了gcc ,沒有的話執行yum install gccapache
檢查是否安裝了libxml2 ,沒有的話執行yum install libxml2api
檢查是否安裝了libxml2-devel,沒有的話執行yum install libxml2-develcurl
注:由於改成用nginx了,因此編譯參數中的--with-apxs2=/usr/bin/apxs去掉了,若是要配置apache用,安裝PHP前,請先安裝apache。*socket
二、編譯參數配置php-fpm
'./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'
三、相關錯誤及解決方案
報錯 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
四、編譯安裝
make clean && make && make install
五、PHP配置
5.1 安裝完成後,咱們要把源碼包中的配置文件複製到PHP安裝目錄下,源碼包中有兩個配置 php.ini-development php.ini-production ,看名字就知道,一個是開發環境,一個是生產環境,咱們這裏就複製開發環境的php配置文件
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
六、配置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
本文轉自https://www.jb51.net/article/116746.htm