前段时间去php.net上闲逛发现PHP7的beta1版本出来了,就尝试着编译安装了一下
之前在鸟哥的博客里看到了他们做的PHP的性能测试,相对于PHP5.6都是有很大的提升的,并且PHP的主版本号已经是2004年发布PHP5后,11年来首次更新,肯定PHP7是有很大的改变的,下面那就来试试PHP7的beta版吧,正式版大概在今年年底会发布。
下载源码
测试版本的PHP下载页面: https://downloads.php.net/~ab/
php7 beta1: https://downloads.php.net/~ab/php-7.0.0beta1.tar.gz
wget https://downloads.php.net/~ab/php-7.0.0beta1.tar.gz |
解压源码:
tar xzvf php-7.0.0beta1.tar.gz |
安装必要的工具
sudo yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel \ |
这里面可能有一些已经安装过了,或者其实不是不需要的,因为一些功能我们可能会在编译时排除掉,但是像libxml2, zlib, freetype, bzip2, curl,curl-devel, openssl这些常用的包还是装上比较好,
配置编译选项
configure脚本参数,使用下面的配置,编译的php基本就满足使用了:
./configure \ |
另一套configure(公司环境)
./configure --prefix=/data/php --with-config-file-path=/data/php/etc --with-MySQL=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --with-jpeg-dir --with-freetype-dir --with-xpm-dir=/usr --with-bz2 |
可能在运行配置脚本的时候会报一些错误,一般是缺少一些包,分析一下,把缺少的包安装上就可以了。注意几点:
- 最好不要使用默认安装路径,加上
--prefix=/path/to/install
参数,毕竟这是beta版本的 - mysql相关的配置加上
- curl, fpm相关的要enable
编译安装
这步非常简单
make |
如果安装路径是root权限的话,需要sudo make install
, 因为安装需要创建新的文件
配置文件
机器不是很旧的话,编译和安装都是比较快的,安装完后需要设置一下配置文件,假设我们的安装路径是/data/php7/
,在php7源码的解压目录运行下面的命令:
sudo cp php.ini-production /data/php7/etc/php.ini |
命令都比较易懂,就不细说了,主要是第2条复制启动脚本挺有用的。可以自己试试用systemctl控制起停。
复制过去的启动脚本可能没有执行权限,还需要手动添加权限:
sudo chmod +x /etc/init.d/php7-fpm |