位置: 编程技术 - 正文

PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)(php安装及使用教程)

编辑:rootadmin

推荐整理分享PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)(php安装及使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php的安装,php7.3安装,php7.3安装,php7.3安装,php7.4安装,php7.4安装,php7.2安装,php7.4安装,内容如对您有帮助,希望把文章链接给更多的朋友!

伴随着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向后兼容性有%,但是为了保险起见我们应用到生产环境当中还是需要保持谨慎的态度。

PHP 7安装使用体验:性能大提升,兼容性强,扩展支持不够,升级PHP要谨慎

一、发挥PHP 7高性能的几个要点

PHP 7相对于之前的PHP版本来说可以说性能有了质的飞跃,但是所谓“好马配好鞍,好车配风帆”,想要发挥PHP 7的性能优势,还需要从以下几个方面做准备:(此部分引自PHP7核心开发者, Yaf, Yar, Yac等项目作者:Laruence)。

1. 记得启用Zend Opcache,启用Opcache非常简单, 在php.ini配置文件中加入:

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=,分配个预留的大页内存:

然后在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 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null,也就是让php-cgi跑遍wordpress的首页, 从而生成一些在这个过程中的profile信息。最后:

7、这个时候你编译得到的PHP7就是为你的项目量身打造的最高性能的编译版本。

二、PHP 7安装与编译

1、PHP 7官网:

1、官网: 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低%。

5、Drupal 8上测试PHP 7的效率是最快的,已经超过了HHVM。

6、Wordpress测试时发现,PHP 5.6执行需要占用MB内存,而PHP 7只要MB。

PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)(php安装及使用教程)

7、在不同的程序执行速度上,PHP 7显然已经领跑,Ruby 2.1、Python 2.7.8、Perl 5..4都不及PHP 7。

四、PHP 7性能测试结果报告

1、空说无凭,PHP 7运行程序的性能到底如何呢?这里部落以一个全新的Wordpress为测试对象,运行在PHP 7上Wordpress首页加载时间测试显示0.秒,内存是3.MB。

2、这是同样的Wordpress页面运行PHP 5.6上的页面加载时间:1.秒,内存占用了3.MB。从数据上看,PHP 7已经完胜了PHP 5.6了。

3、PHP 7运行Wordpress的效率相对于之前的版本确实有了质的提升,为了全面了解PHP 7的性能,这里按照网站服务器压力Web性能测试的方法,用Webbench模拟秒内、个连接数,速度都是页面/分以上。

4、此时,VPS服务器系统负载是3.。

5、把模拟的连接数提高到个,速度依然保持在页面/分以上。

6、此时,VPS服务器系统负载是,应该有点吃力了。

7、把模拟的连接数提高到个,速度是页面/分,速度开始慢下来了。

8、此时,VPS服务器系统负载是,服务器负责过重了。

9、为了测试PHP 7在本VPS主机承受能力的极限,Webbench模拟个连接数在秒不断访问服务器。

、此时,VPS服务器的系统负载近,应该是到达极限了,但是服务器依然没有死机。

、接下来,让我们来看看同样配置的VPS主机运行Wordpress的压力测试结果,首先是用Webbench模拟秒内、个连接数,速度是页面/分,相对于上面的PHP 7测试的速度慢了一半。

、这是PHP 5.6测试、个连接数的系统负载,已经达到了,明显超出了在PHP 7环境上测试的3.。

、在PHP 5.6测试将模拟连接数提高到、个,此时速度已经降到页面/分,连接成功数也降低到了左右,远远低于在PHP 7测试时的。

、此时,系统负载达到了了。

、在PHP 5.6中用Webbench测试连接数为,在秒内不断访问服务器。此时,测试已经卡住,没有结果。

、这里VPS服务器的系统负载已经达到了以上,服务器已经崩溃了。

、PHP 5.6下的Wordpress网站已经宕机了。

五、PHP 7兼容性问题

1、目前国内的Discuz等还不支持PHP 7,PHP扩展也就只有官方的Opcache可以使用,其它的如eAccelerator、xcache、memcached等,大家可以随时关注扩展支持列表: 和 7运行Wordpress没有任何问题。

3、在PHP 7上安装Wordpress插件都没有问题。

4、PHP 7还有部分函数、运算符等可能出现不兼容问题,不过%的程序可能不会用到这些。

六、PHP 7安装使用体验小结

1、使用PHP 7后有一个惊喜就是,确实如国外开发者测试的那样,PHP 7性能基本上与HHVM持平,由于HHVM借助实时(Just In Time)编译器将 PHP 代码编译至机器指令,所以不少的PHP程序运行在HHVM是需要改良的。

2、PHP 7具备了HHVM的超高性能,同时又有了PHP向后兼容的优势,相信在不久的未来PHP 7会得到越来越多人的认可和接受。虽然目前支持PHP 7的缓存、加速等扩展还不多,但是这只是时间问题,越来越多的开发者会加入到PHP 7的开发行列中。

标签: php安装及使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/291029.html 转载请保留说明!

上一篇:laravel 5.4中实现无限级分类的方法示例

下一篇:浅谈thinkphp5 instance 的简单实现(浅谈中国式现代化3000字论文)

  • 小规模纳税人取得增值税
  • 应交税费应交增值税明细账怎么填
  • 个税申报数是按应发数还是实发数进行申报?
  • 增值税的专用发票有几联
  • 高新技术企业加计抵减
  • 律师事务所的所训
  • 个人住房交不交个税
  • 个人所得税数据已失效,请重新填写
  • 应收账款计入借方贷方
  • 所有应收账款是否均已记录
  • 免租期房租怎么做会计分录
  • 联营企业子公司抵消比例
  • 报销费用可不可以开专票
  • 应收利息对应什么科目
  • 公司拓展训练入什么会计科目核算做分录?
  • 上交的项目评审费如何做财务处理呢?
  • 成本类与费用类科目哪些区别
  • 未抄报税可以报税吗
  • 估价入账固定资产实际入账时补提折旧吗?
  • 预收房款缴所得税会计分录怎么写?
  • 非独立核算的分公司是什么意思
  • 案例讨论如何进行
  • 个体户需不需要银行开户
  • 教育费附加减免性质代码
  • 季度所得税申报可以弥补以前年度亏损吗
  • 没有认缴到位的股票
  • 进项税未抵扣会计分录
  • linux如何在终端运行程序
  • 赡养老人支出如果有四个子女都要填吗
  • 员工垫付的钱会计分录
  • 员工租房管理规定
  • php数组函数 菜鸟
  • linux root 命令
  • 一般纳税人辅导期管理办法
  • php的脚本语言
  • 直布罗陀巨岩山
  • 一次补发工资怎么算
  • 供应商发票多开了怎么处理?
  • 黑马程序员前端工程师简历
  • 布鲁克斯岭
  • 国家公园好玩吗
  • php发送短信
  • 申报个人所得税是按应发工资还是实发工资
  • 如何用php做到页数显示
  • openapi开放平台
  • 建材公司成本率一般多少
  • 会计制度备案附件要上传什么
  • 理财产品利息计算方法
  • 纳税申报系统里怎么填写
  • 织梦自定义模型调用
  • 框架合同的印花税
  • 个税中的免税收入都包括什么
  • 销售使用过的固定资产怎么填申报表
  • 吸收合并需要编制
  • 普票和专票的区别对比
  • 应收票据周转率怎么分析
  • 低值易耗品的管理流程
  • 公司破产账务处理
  • 2020年扶贫拨款
  • 公司法人转账到公司账户
  • 营业执照的注册号怎么查询
  • 待摊费用和预提费用的区别
  • mysql主键冲突但数据不存在
  • windows的实验步骤
  • ie11怎么打开ie8
  • linux 系统查看
  • win7网络正常网页打不开是什么原因
  • linux特殊权限命令
  • win10怎么关闭欢迎界面
  • Unity3D游戏开发培训课程大纲
  • javascript实现2048游戏示例
  • android系统架构由几部分组成
  • javascript ?
  • jquery插件开发方法
  • Python 正则表达式入门(中级篇)
  • Protocol Buffers(Protobuf)开发者指南---概览
  • python嵌套列表怎么遍历
  • 小规模企业所得税怎么算
  • 广东每年交多少税给国家
  • 国税地税征管
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设