PHP 7安装使用体验之性能大提升,兼容性强,扩展支
伴随着PHP 7的发布,这几天关于PHP 7性能和兼容性成了大家讨论的热点话题,PHP 7表现出来的高性能让不少人蠢蠢欲动,有些“尝鲜”的朋友已经将PHP 7应用到了生产环境当中了。同时,LNMP等热门应用程序也及时作了更新,纷纷开始支持PHP 7。
提到PHP性能问题,不得不说之前分享的HHVM,这是脸谱公司为提高PHP性能而开发出来的工具,使用了 Just-In-Time (JIT) 编译方式将 PHP 代码转换成某种字节码。实际测试过程中,HHVM对于PHP的性能提高是一个质的飞跃,高效的PHP运行环境提升PHP性能9倍以上。
近些年来PHP广为人诟病就是性能瓶颈方面的问题,不少的开发者纷纷弃PHP而逃,而HHVM的完美表现对于PHP发展是非常不利的。PHP 7 是 PHP 社区对 HHVM 的回应,PHP 7正式发布版在PHP性能方面很到了非常大的改善,实际测试发现在部分场合PHP 7性能超过了HHVM。
本篇文章就为大家带来PHP 7安装与使用体验,想要急切体验PHP 7性能的朋友,在正式升级PHP之前最好多做几次程序兼容性测试,虽然官方说PHP 7向后兼容性有99%,但是为了保险起见我们应用到生产环境当中还是需要保持谨慎的态度。
PHP 7安装使用体验:性能大提升,兼容性强,扩展支持不够,升级PHP要谨慎
一、发挥PHP 7高性能的几个要点
PHP 7相对于之前的PHP版本来说可以说性能有了质的飞跃,但是所谓“好马配好鞍,好车配风帆”,想要发挥PHP 7的性能优势,还需要从以下几个方面做准备:(此部分引自PHP7核心开发者, Yaf, Yar, Yac等项目作者:Laruence)。
1. 记得启用Zend Opcache,启用Opcache非常简单, 在php.ini配置文件中加入:
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1"2. 使用新的编译器, 推荐GCC 4.8以上, 因为只有GCC 4.8以上PHP 7才会开启Global Register for opline and execute_data支持, 这个会带来5%左右的性能提升。
3. 开启HugePage有利于PHP 7更快, 首先在系统中开启HugePages, 然后开启Opcache的huge_code_pages,以CentOS 6.5为例, 通过命令:$sudo sysctl vm.nr_hugepages=512,分配512个预留的大页内存:
$ cat /proc/meminfo | grep Huge AnonHugePages: 106496 kB HugePages_Total: 512 HugePages_Free: 504 HugePages_Rsvd: 27 HugePages_Surp: 0 Hugepagesize: 2048 kB然后在php.ini中加入:opcache.huge_code_pages=1,这样一来, PHP会把自身的text段, 以及内存分配中的huge都采用大内存页来保存, 减少TLB miss, 从而提高性能.
4. 开启Opcache File Cache(实验性), 通过开启这个, 可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升。方法是在php.ini中加入:opcache.file_cache=/tmp。这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在.
5. PGO。如果你的PHP是专门为一个项目服务, 比如只是为你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以尝试通过PGO, 来提升PHP, 专门为你的这个项目提高性能。具体的, 以wordpress 4.1为优化场景.. 首先在编译PHP的时候首先:$ make prof-gen。
6、然后用你的项目训练PHP, 比如对于Wordpress:$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null,也就是让php-cgi跑100遍wordpress的首页, 从而生成一些在这个过程中的profile信息。最后:
$ make prof-clean $ make prof-use && make install7、这个时候你编译得到的PHP7就是为你的项目量身打造的最高性能的编译版本。
二、PHP 7安装与编译
1、PHP 7官网:
1、官网:http://php.net/
2、下载:http://php.net/downloads.php
2、动手能力强的朋友,可以自己直接到官方下载PHP 7,然后手动编辑安装。如果你已经习惯使用lnmp.org站长的LNMP一键安装包,可以试试发布LNMP 1.3测试版,已经增加了增加php7支持:网站平滑迁移到LNMP或LAMP建站环境的方法 。
3、OneinStack提供的LNMP安装包已经有了PHP 7一键安装了,在执行脚本的时候,可以选择PHP 7安装,PHP 7目前只有官方自带的Zend Opcache扩展可供安装。
4、OneinStack安装PHP 7安装成功。
5、这是PHP 7信息显示。
6、这是OneinStack提供的PHP 7的Opcache控制面板。
三、PHP 7与老版本PHP、HHVM性能对比
1、这是国外开发者测试的PHP 7与PHP 5.6在Wordpress、Drupal等热门程序下表现的性能,结果很明显PHP 7性能提升很多。
2、PHP 7对于Wordpress等程序来说,不仅仅提升单个执行速度,随着Wordpress运行在PHP 7的时间越久,性能提升就更多。
3、上文也说到PHP 7对于PHP的性能提升在某些方面已经超过了HHVM,这是国外zend.com官网给出的PHP 5.6、PHP 7、HHVM在不同的程序下执行效率对比结果。
4、在专业开源的电子商务系统Magento上测试PHP 5.6、PHP 7、HHVM的执行效率,PHP 7是PHP 5.6运行速度的两倍,而内存占用还比PHP 5.6低30%。
5、Drupal 8上测试PHP 7的效率是最快的,已经超过了HHVM。
6、Wordpress测试时发现,PHP 5.6执行需要占用100MB内存,而PHP 7只要25MB。
7、在不同的程序执行速度上,PHP 7显然已经领跑,Ruby 2.1、Python 2.7.8、Perl 5.18.4都不及PHP 7。
上一篇:PHP中实现九九乘法口诀表
栏 目:im钱包
下一篇:PHP面向对象 封装与继承
本文标题:PHP 7安装使用体验之性能大提升,兼容性强,扩展支
本文地址:https://www.torquefilm.com/a/imwallet0/173.html
您可能感兴趣的文章
- 11-23PHP面向对象 封装与继承
- 11-23PHP中实现九九乘法口诀表
- 11-23PHP中实现一个简易三角形的方法
- 11-23PHP中利用for循环判断一个数是不是回文数
- 11-23隐藏PHP版本与PHP基本安全设置
- 11-23nginx+php 打开php错误提示的方法
- 11-23php中 == 和 === 的区别和应用说明
- 11-23PHP常用正则表达式汇总大全
- 11-23PHP保留两位小数的几种方法
- 11-23利用PHP生成随机密码的几种方法
阅读排行
推荐教程
- 11-22dedecms织梦图集图片模板
- 11-22HTML5自适应网络公司织梦模板
- 11-22dedecms购物商城织梦模板
- 11-22PHP自适应后台风格模板
- 11-22网络公司自适应织梦模板