PHP7
2015.12.3发生了两件大事,PHP7问世了,Swift开源了。
最好的语言发布了新的版本,一个划时代的大版本:PHP7。
PHP7修复了大量BUG,新增了功能和语法糖。这些改动涉及到了核心包、GD库、PDO、ZIP、ZLIB等熟悉和不熟悉的核心功能与扩展包。
PHP7移除了已经被废弃的函数,如mysql_系列函数在PHP5.5被废弃,在PHP7被删除。
PHP7的性能高于HHVM。并且是PHP5.6的两倍。
http://php.net/archive/2015.php#id2015-12-03-1
2015年12月3号
PHP开发团队宣布PHP 7.0.0即将上市。本次发布标志着新的重要的PHP 7系列的开始。
PHP 7.0.0附带了一个新版本的Zend引擎中,无数的改进和新功能,如
性能改善:PHP 7高达两倍快的PHP 5.6
显著减少内存使用
抽象语法树
一致的64位支持
改进的异常层次结构
许多转化为异常致命错误
安全随机数发生器
删除旧的和不支持的SAPIs和扩展
空合并运算符(?)
返回和标量类型声明
匿名类
零成本断言
这是下一个主要版本的PHP。它的发布是近两年的发展征程的结果。这是核心团队的一个非常特殊的成就。而且,它是许多活跃的社区成员难以置信努力的结果。事实上,这是一个新的PHP一代的崛起与巨大潜力。
恭喜大家,这是一个壮观的PHP的世界!
感谢感谢所有的贡献者和支持者!
根据更新日志,我整理了一下涉及到的类库:Core、CLI_server、COM、Curl、Date、DBA、DOM、EXIF、Fileinfo、Filter、FPM、FTP、GD、GMP、hash、IMAP、Intl、JSON、LDAP、LiteSpeed、libxml、Mcrypt、Mysqli、OCI8、ODBC、Opcache、OpenSSL、Pcntl、PCRE、PDO、PDO_DBlib、PDO_mysql、PDO_OCI、PDO_pgsql、Phar、Phpdbg、Reflection、Session、OAP、SPL、SQLite3、tandard、Streams、Tokenizer、XMLReader、XMLRPC、XSL、Zlib、Zip
一、PHP7的前世今生
以下摘自并修改与鸟哥微信
PHP7开始于2014年春节,因为基于PHP-5.5的Opcache JIT因为无法得到期望而搁置了,并且让鸟哥等人认识到, 基础部分还不够好, 并不能很好的支持JIT, 所以开始了重构项目,希望通过得到30%以上的提升。随后发现性能提升比我们想象的还要大,于是定名为PHP NG项目。
经过发起投票, 绝大部分人都支持了PHP NG项目, 并决定以PHP NG为基础, 开发新版的PHP。社区曾开发过PHP6,后来PHP6的特性在PHP5.5,5.6等版本都逐渐实现,所以PHP6被搁置。经过社区投票,新项目命名为PHP7。
在这近两年的时间里,各种新特性的加入, 性能的持续提升,很多以前不合理的地方改进等等, 都加入到了PHP7, 让PHP7越来越丰满. 从最底层的ZVAL的改变, 到标量类型提示, 从最初的30%的性能提升, 到现在超过100%的性能飞跃, 每一处变化都让人值得期待. 然后经过几次不情愿的跳票, 终于, 到今天, 这一切都将呈现于你面前。
二、安装
安装:我们编译了核心包以及PDO,GD,mysqli,Zip等
$ ./configure –prefix=/usr/local/php7 –enable-fpm –with-zlib –enable-mbstring –with-openssl –with-mysqli –with-mysql-sock –with-gd –enable-gd-native-ttf –enable-pdo –with-pdo-mysql –with-gettext –with-curl –with-pdo-mysql –enable-sockets –enable-bcmath –enable-xml –with-bz2 –enable-zip -enable-pcntl
$ make
$ sudo make install
屏幕快照 2015-12-04 上午10.22.33.png
三、测试
测试版本:
旧版PHP 5.5.29,新版 PHP 7.0.0
屏幕快照 2015-12-04 上午10.45.01.png屏幕快照 2015-12-04 上午10.22.33.png
测试机配置如下:
屏幕快照 2015-12-04 上午10.38.15.png
1、测试用例一:
生成五十万个数组,并查询五十万次key是否存在