下载7:

$ cd
$ mkdir php7test
$ cd php7test
$ wget http://cn2.php.net/get/php-7.0.7.tar.gz/from/this/mirror
$ tar -zxvf php-7.0.7.tar.gz
$ cd php-7.0.7

安装一些依赖:

$ yum -y install libjpeg libpng freetype libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel curl-devel libxslt-devel lib2 lib2-devel

配置configure

$ ./configure --prefix=/data/php7 --with-config-file-path=/data/php7/etc --with-config-file-scan-dir=/data/php7/etc/php.d --with-mcrypt=/usr/include --enable-mysqlnd --with-mysqli --with-pdo-mysql --enable-fpm --with-fpm-user=xxxxxxxxxx --with-fpm-group=xxxxxxxxxx --with-gd --with-iconv --enable-xml --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --with-zlib --enable-bcmath --enable-sockets

然后:

$ make
$ make install

默认安装好之后,你会发现/data/php7/etc下面没有php.ini文件,这个去哪里要呢?在php7的源码安装包都有。

进入源码安装包的目录

$ cd 
$ cd php7test/php-7.0.7
$ ls

可以看到有两个php.ini-xxx的文件

$ cp php.ini* /data/php7/etc/
$ cp php.ini-production /data/php7/etc/php.ini

启用php-fpm

先配置config文件

$ cd /data/php7/etc
$ cp php-fpm.conf.default php-fpm.conf
$ cp php-fpm.d/www.conf.default php-fpm.d/www.conf

在编译之前./configure的时候,我们都已经确定了一些配置,比如运行fpm的用户和用户组之类的,所以默认配置应该不会存在路径问题和权限问题。

搞定php-fpm的服务载入

我们希望使用service php-fpm start|stop|restart这些操作来实现服务的重启,但没有像nginx那么复杂,php编译好之后,给我们提供了一个php-fpm的程序,不需要我再编写分享了。这个文件放在php编译源码目录中:

$ cd 
$ cd php7test/php-7.0.7/sapi/fpm
$ cp init.d.php-fpm /etc/init.d/php-fpm
$ chmod +x /etc/init.d/php-fpm
$ chkconfig --add php-fpm
$ chkconfig php-fpm on

通过上面这个操作,我们就可以使用sevice php-fpm start来启用php-fpm了。用ps -ef | grep php-fpm看看进程吧。

或者通过使用/data/php7/sbin/php-fpm来启动php7.

Finish & Success


PHP7在开发机上的安装使用之旅