centos7下編譯安裝php-7.0.15(PHP-FPM)
1、下載php7源碼包php
http://php.net/downloads.php
如:php-7.0.15.tar.gz
2、安裝所需依賴html
> yum -y install gd-devel zlib-devel libjpeg-devel libpng-devel libiconv-devel freetype-devel libxml2 libxml2-devel openssl openssl-devel curl-devel libxslt-devel libmcrypt-devel mhash mcrypt
若是沒法安裝libiconv,請手動下載安裝mysql
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
> tar xf libiconv-1.14.tar.gz > cd libiconv-1.14 > ./configure --prefix=/usr/local/libiconv > make && make install
若是出現以下問題,說明你係統版本較高。
./stdio.h:1010:1: 錯誤:‘gets’未聲明(不在函數內)nginx
> cd srclib/ > sed -i -e '/gets is a security/d' ./stdio.in.h > cd ../ > make && make install
若是安裝libmcrypt-devel、mhash、mcrypt出錯,則從新配置yum源。sql
http://mirrors.163.com/.help/centos.html http://mirrors.aliyun.com/help/centos
3、編譯PHP
建立帳號centos
> useradd -s /sbin/nologin -M nginx > tar xf php-7.0.15.tar.gz > cd /data/php-7.0.15 > ./configure --prefix=/data/php7 \ --with-openssl \ --with-pcre-regex \ --with-kerberos \ --with-libdir=lib \ --with-libxml-dir \ --with-mysqli=shared,mysqlnd \ --with-pdo-mysql=shared,mysqlnd \ --with-pdo-sqlite \ --with-gd \ --with-iconv \ --with-zlib \ --with-xmlrpc \ --with-xsl \ --with-pear \ --with-gettext \ --with-curl \ --with-png-dir \ --with-jpeg-dir \ --with-freetype-dir \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-mysqlnd \ --enable-zip \ --enable-inline-optimization \ --enable-shared \ --enable-libxml \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --enable-gd-native-ttf \ --enable-pcntl \ --enable-sockets \ --enable-soap \ --enable-session \ --enable-opcache \ --enable-fpm \ --enable-maintainer-zts \ --enable-fileinfo \
4、make && make installapi
> make && make install
5、配置文件session
> cp /data/php-7.0.15/php.ini-development /data/php7/lib/php.ini > cp -R /data/php-7.0.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm > cp /data/php7/etc/php-fpm.conf.default /data/php7/etc/php-fpm.conf > cp /data/php7/etc/php-fpm.d/www.conf.default /data/php7/etc/php-fpm.d/www.conf
6、修改php.iniphp7
> mkdir /data/php7/tmp > chmod 766 /data/php7/tmp
extension_dir = "/data/php7/lib/php/extensions/no-debug-zts-20151012/" session.save_path = "/data/php7/tmp" date.timezone = PRC
7、添加環境變量curl
> echo 'export PATH=/data/php7/bin:/data/php7/sbin:$PATH' >> /etc/profile > source /etc/profile
8、添加自啓動
> chkconfig --add php-fpm > chkconfig php-fpm on > chkconfig --list php-fpm
9、啓動服務
> chmod 755 /etc/init.d/php-fpm > service php-fpm start > ps -ef|grep php-fpm
10、php-fpm重啓
php-fpm的pid文件默認在你php安裝目錄下var/run/php-fpm.pid
固然這是能夠更改的,在/data/php7/etc/php-fpm.conf文件中
關閉
> kill -INT `cat /data/php7/var/run/php-fpm.pid`
重啓
> kill -USR2 `cat /data/php7/var/run/php-fpm.pid`