PHP是一种为我们熟知的通用服务器网页脚本语言。非常多的在线网站都是用PHP编写的。PHP这些年来一直在持续进化,丰富其功能,变得易于使用,更好地组织的脚本语言。目前PHP的开发团队正筹备下一个PHP版本的发行,名字是PHP 7。现在的PHP版本为PHP 5.6,可能你清楚PHP 6已经流产了,PHP 7的支持者们不希望下一个重要的版本被其他分支混淆,即过去已经停止很久的PHP 6。所以决定下一个PHP主要的发行版本叫PHP 7,而不是PHP 6。PHP 7.0预计在今年十一月份发行。
在下一代主要PHP版本里有一些不错的功能:
为了改善执行效率与内存占用,新的版本添加了PHPNG功能。
引入了JIT引擎来动态编译Zend操作码为自然机器码,以此来达到更快的处理性能。这项功能允许随后的程序调用同一份代码,这样会运行快很多。
AST(抽象语法树)是最新添加的功能,它可以增强支持PHP的扩展性和用户应用。
添加异步编程功能以支持同一个请求中的并行任务。
新的版本会支持独立的多线程网页服务器,这样可以使用一个单独的存储池处理很多并发的请求。
在CentOS/Fedora上安装PHP 7 让我们来看看怎样在CentOS 7和Fedora 21安装PHP7。为了安装PHP7,我们首先需要克隆php-src 仓库。当克隆工作完成,我们再配置和编译它。进行下一步之前,我们要确保已经在LInux系统下安装了如下的组件,否则PHP编译会返回错误中止。
所有上面提到的要求可以使用Yum软件包管理器安装。以下一条命令即可完成:
1 2 yum install git autoconf gcc bison
准备好开始安装PHP7了吗?让我们先创建一个PHP7目录,作为你的当前工作目录。
现在克隆php-src仓库,在终端里运行下面的命令。
1 2 git clone https ://git.php.net/repository/php-src.git
工作应该会在几分钟后完成,这里是一个样例输出,你应该会在任务完成时看见。
1 2 3 4 5 6 7 8 [root@localhost php7]# git clone https://git.php.net/repository/php-src.git Cloning into 'php-src' ... remote: Counting objects: 615064, done . remote: Compressing objects: 100% (127800/127800), done . remote: Total 615064 (delta 492063), reused 608718 (delta 485944) Receiving objects: 100% (615064/615064), 152.32 MiB | 16.97 MiB/s, done . Resolving deltas: 100% (492063/492063), done .
让我们来配置,编译PHP7,在终端运行下面的命令,开始配置工作:
下面是./buildconf命令的样例输出。
1 2 3 4 5 6 7 [root@localhost php-src]# ./buildconf buildconf: checking installation...buildconf: autoconf version 2.69 (ok) rebuilding aclocal.m4 rebuilding configure rebuilding main/php_config.h.in
使用下面的命令,继续配置进程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ./configure \ --prefix=$HOME/php7/usr \ --with -config-file-path=$HOME/php7/usr/etc \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with -curl \ --with -mcrypt \ --with -iconv \ --with -gmp \ --with -pspell \ --with -gd \ --with -jpeg-dir=/usr \ --with -png-dir=/usr \ --with -zlib-dir=/usr \ --with -xpm-dir=/usr \ --with -freetype-dir=/usr \ --with -t1lib=/usr \ --enable-gd-native -ttf \ --enable-gd-jis-conv \ --with -openssl \ --with -mysql=/usr \ --with -pdo-mysql=/usr \ --with -gettext=/usr \ --with -zlib=/usr \ --with -bz2=/usr \ --with -recode=/usr \ --with -mysqli=/usr/bin/mysql_config
这会花去不少的时间,当完成后你应该会看到如下面的输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 creating libtool appending configuration tag "CXX" to libtool Generating files configure: creating ./config.status creating main/internal_functions.c creating main/internal_functions_cli.c +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. config.status: creating php7. spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating sapi/cgi/php-cgi.1 config.status: creating ext/phar/phar.1 config.status: creating ext/phar/phar.phar.1 config.status: creating main/php_config.h config.status: executing default commands
运行下面的命令,完成编译过程。
“make”命令的样例输出如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 Generating phar.php Generating phar.phar PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled. clicommand.inc directorytreeiterator.inc directorygraphiterator.inc pharcommand.inc invertedregexiterator.inc phar.inc Build complete. Don' t forget to run 'make test' .
活儿干完了,该安装PHP7了,运行下面的命令安装它。
成功安装的进程的样例输出应该像这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [root@localhost php- src]# make installInstalling shared extensions: /root/ php7/usr/ lib/php/ extensions/no-debug-non-zts-20141001/ Installing PHP CLI binary: /root/ php7/usr/ bin/ Installing PHP CLI man page: /root/ php7/usr/ php/man/ man1/ Installing PHP CGI binary: /root/ php7/usr/ bin/ Installing PHP CGI man page: /root/ php7/usr/ php/man/ man1/ Installing build environment: /root/ php7/usr/ lib/php/ build/ Installing header files: /root/ php7/usr/ include/php/ Installing helper programs: /root/ php7/usr/ bin/ program: phpize program: php- configInstalling man pages: /root/ php7/usr/ php/man/ man1/ page: phpize.1 page: php- config.1 Installing PEAR environment: /root/ php7/usr/ lib/php/ [PEAR ] Archive_Tar - installed: 1.3 .13 [PEAR ] Console_Getopt - installed: 1.3 .1 [PEAR ] Structures_Graph - installed: 1.0 .4 [PEAR ] XML_Util - installed: 1.2 .3 [PEAR ] PEAR - installed: 1.9 .5 Wrote PEAR system config file at: /root/ php7/usr/ etc/ pear.confYou may want to add: /root/ php7/usr/ lib/ php to your php.ini include_path/root/ php7/php-src/ build/shtool install -c ext/ phar/phar.phar / root/php7/ usr/ bin ln - s - f /root/ php7/usr/ bin/phar.phar / root/php7/ usr/bin/ pharInstalling PDO headers: /root/ php7/usr/ include/php/ ext/pdo/
恭喜你,PHP7已经安装在你的Linux系统上了。安装完后,进入PHP7安装文件里的sapi/cli里面。
验证一下PHP的版本。
1 2 3 4 5 [root@localhost cli ]PHP 7.0.0-dev (cli) (built: Mar 28 2015 00:54:11 ) Copyright (c) 1997 -2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998 -2015 Zend Technologies
总结 PHP 7也添加到了remi仓库 ,这个即将到来的版本主要关注执行效率的提升,它的新特性致力于使PHP较好满足现代编程的需求和趋势。PHP 7.0将会有许多新的特性、丢弃一些老版本的东西。在接下来的日子里,我们希望看到新特性和弃用功能的具体情况。希望你喜欢!
via: http://linoxide.com/linux-how-to/install-php-7-centos-7-fedora-21/
作者:Aun Raza 译者:wi-cuckoo 校对:wxy
本文由 LCTT 原创翻译,Linux中国 荣誉推出