《高性能PHP 7》通俗易懂且图文并茂,实践案例丰富,相信一定能吸引大家阅读。全书目标清晰,始终围绕着如何使用PHP及周边技术来优化性能这一主题,能够为许多工程师解决实际问题。
《高性能PHP 7》从PHP所需环境讲起,涉及环境搭建与配置设置等内容,能够帮助有一定计算机基础的读者实现PHP运行环境的搭建及PHP周边软件的安装配置。《高性能PHP 7》亮点内容是介绍PHP 7特性的部分,同时也告诉读者哪些语法将会被废弃,对读者上手PHP 7有极大的帮助。除介绍PHP 7的新特性外,《高性能PHP 7》用大量章节介绍如何使用PHP 7及周边软件来构造高性能的Web应用程序,同时介绍了一些PHP开发的*佳实践,帮助读者更好地理解Web项目与PHP应用程序开发。附录部分为读者介绍了一些不错的工具,讲解了MVC与开发框架等周边知识,能够帮助读者更好地开发PHP项目。
Altaf Hussain,是一位在PHP领域具有6年以上经验的全栈工程师及移动应用开发者,他在巴基斯坦获得电气工程学士学位,其间专攻计算机和通信,兼具电气工程师的理论知识与软件工程师的内涵。
Altaf曾在团队中担任系统工程师,使用汇编语言与C语言为测试机器人开发系统控制软件,之后他对Web技术非常感兴趣,并自此投身Web领域。Altaf曾在工作中使用过许多PHP框架,例如Zend、Laravel、Yii,同时他也使用过不少开源项目,例如Drupal、WordPress、PrestaShop和Magento。Altaf自主设计并实现了两套CMS系统,实现了多语言支持、全线控制、翻译能力以及不同种类的多语言内容管理。现如今,Altaf是一家时尚企业shy7lo.com的技术主管,工作职责是管理公司内部与国外的研发团队,进而落实Magento和Laravel应用程序的开发与部署工作。除了Web应用程序外,Altaf还开发过iOS、Android应用程序,例如在Lumen构建API。Altaf是面向服务架构(SOA)的狂热爱好者,并成功地在多个项目中使用它。
Altaf非常关注Web性能,并在高速发展与可扩展的生产环境中运用了全新的技术,如PHP 7、Nginx、Redis、Varnish等。他是Debian系统的爱好者,并已将其应用于所有Web应用程序的运行环境中。
工作之余,Altaf喜欢写写文章,他的文章大多发表于programmingtunes.com和techyocean.com上。与此同时,Altaf已经撰写了几本由Packt出版的书,包括Learning Phalcon PHP、Mastering jQuery Mobile、PrestaShop Module Development。
关于审校者
Raul Mesa Ros自2006年以来便一直从事与Web开发相关的工作,他之前做Java相关工作,后来转投PHP领域,并获得了一些资格认证,例如Zend官方授予的ZCE、ZFC。在积累了几个大流量的Web项目开发经验后,Raul现在对DevOps的理念很感兴趣。
Raul目前是EuroMillions.com的高级Web开发工程师,使用DevOps和PHP技术,同时作为负责人还带领着多个中小型项目。
Raul的Twitter是@rmrbest。
译者:吕毅,链家网大数据平台架构团队负责人,链家网架构师。曾负责过链家网基础服务平台建设,也曾供职于百度移动云事业部及新浪平台架构部SAE。
1 搭建环境 1
搭建Windows环境 2
搭建Debian或Ubuntu环境 4
Debian 5
Ubuntu 5
搭建CentOS环境 9
安装Nginx 10
安装PHP 7 11
安装Percona Server 13
搭建Vagrant环境 14
本章小结 16
2 PHP 7新特性 17
OOP特性 17
类型声明 18
命名空间与use关键字批量声明 22
匿名类 27
不推荐使用老式的构造方法 32
Throwable接口 33
新的操作符 35
太空飞船操作符(<=>) 35
null合并运算符(??) 37
统一变量语法 39
其他特性和变更 40
常量数组 40
Switch中的多个default默认值 41
Session_start函数中的选项数组 41
Unserialize函数引入过滤器 42
本章小结 42
3 PHP 7应用性能提升 43
Nginx与Apache 43
Apache 44
Nginx 44
HTTP Server优化 45
缓存静态文件 45
HTTP持久链接 46
Apache 47
Nginx 48
GZIP压缩 48
PHP独立部署服务 51
关闭不用的模块 51
Web服务器资源 53
内容分发网络(CDN) 54
使用CDN 55
CSS与JavaScript优化 56
合并 57
缩小 57
全页缓存 66
Varnish 66
基础设施 69
Web服务器 70
数据库服务器 71
负载均衡(LB) 71
HAProxy负载均衡 72
本章小结 76
4 提升数据库性能 77
MySQL数据库 77
查询缓存(Query Caching) 78
存储引擎 79
MyISAM存储引擎 80
InnoDB存储引擎 81
Percona Server - MySQL的fork 82
安装Percona服务器 82
MySQL性能监控工具 83
phpMyAdmin 83
MySQL工作台 86
Percona工具箱 87
Percona XtraDB 集群(PXC) 90
Redis 键值缓存存储 93
连接Redis服务器 95
用Redis保存和获取数据 96
Redis管理工具 97
Memcached键值缓存存储 99
本章小结 100
5 调试和分析 101
Xdebug 101
使用Sublime Text调试 103
使用Eclipse调试 107
使用Xdebug分析 110
PHP DebugBar 112
本章小结 116
6 PHP应用的压力/负载测试 117
Apache JMeter 117
ApacheBench (ab) 124
Siege 125
实际项目中应用程序的压力测试 128
Magento 2 129
WordPress 4 130
Drupal 8 130
本章小结 132
7 PHP编程最佳实践 133
代码风格 133
测试驱动开发(TDD) 137
设计模式 140
面向服务的体系架构(SOA) 141
保持面向对象和可重用 142
PHP框架 142
版本控制系统(VCS)和Git 142
部署和持续集成(CI) 143
本章小结 144
附录A 提升工作效率的工具 147
Composer:PHP依赖管理工具 147
安装Composer 147
使用Composer 148
Git:一个版本控制系统 150
安装Git 150
使用Git 150
创建新分支和合并 152
克隆一个仓库 153
Webhooks 154
管理仓库的桌面工具 155
Grunt watch 157
小结 160
附录B MVC和框架 161
MVC设计模式 161
Model 162
Views 162
Controllers 163
Laravel 163
安装 163
特性 164
Eloquent ORM 166
Artisan命令行 169
迁移 170
Blade模版 172
其他特性 175
Lumen 175
Apigility 175
小结 181
译者序
我从本科二年级开始,就使用PHP开发一些项目,那时PHP 5才刚刚在国内被运用起来。记得那时使用PHP开发项目,由于没有遇到高并发大流量的场景,所以也算得心应手。直到毕业后在新浪平台架构部工作时,因为开发一些平台项目会遇到被多个项目调用的情况,所以PHP性能低下的问题便被突显出来。从那时开始,我在做基本开发工作的同时,也会关注代码质量与运行性能。当时PHP的优化手段更多的是通过优化自身代码来尽量避免糟糕代码的出现。后来在百度工作期间,我们的一个模块在一天内会被请求20亿次(现在也许更高),因为移动业务发展迅猛,流量涨得很快,PHP项目的性能缺陷愈加被放大,所以那时便开始使用一些工具(例如xhprof)去细化问题,在优化代码、调整架构的同时,关注上下游性能、网络开销等PHP项目周边的调整。虽然通过各种努力能够在当时正常承载线上业务,但性能低下问题依然是一个很大的困扰。
在我入职链家网的前后,PHP社区预发布了全新的PHP 7版本。在PHP 7正式发布后,链家网的PHP工程师们考虑到有鸟哥坐镇链家网,于是在第一时间升级了线上PHP 7环境,在不用做太多框架和代码调整的情况下,大幅降低了整体的线上机器负载。PHP 7版本在性能方面的调整,让传统PHP Web项目能够轻松获得整体的性能提升。记得鸟哥分享过不少能够实现负载减轻一半以上的公司案例,相信随着越来越多的公司、用户使用PHP 7,这样的案例会越来越多。随着PHP开发人员的不断努力,PHP工程师会更专注业务场景而不必再多操心性能问题。
本次与博文视点合作,我们有着共同的目标——将PHP 7的新特性、运用方法更快地传递给中国的PHP工程师们。因此特在博文视点张春雨先生的邀请下,决定尽快用工作之余的时间将本书翻译完成并推广上市。由于我的个人精力实在有限,因此邀请了链家网同事祁冰、左晓杰与我一同翻译此书,本书的第4、5、6章由祁冰翻译,第7章及附录由左晓杰翻译,其余部分由我翻译。若是让读者在阅读时感到口吻不一致,还望包涵。
本书作者在PHP 7发布的第一时间撰写了此书,内容包括环境搭建、软件安装、PHP 7新特性、PHP与数据优化、性能测试等多个方面,并且也提到了PHPzui佳实践,以及一些工具、框架的使用,非常适合有一定PHP基础的工程师们阅读。即便你不是PHP工程师,只要有一定的计算机基础,相信你也能够通过认真阅读此书并加以实践来掌握PHP开发与优化技术,获得PHP 7相关的技术理解。全书通俗易懂且图文并茂,实践案例丰富,相信一定能够吸引读者阅读。同时,本书目标清晰,全书都在围绕如何使用PHP及周边技术来优化性能、缩短用户等待时间这一主题。如果你的业务场景对程序性能、等待时间有一定要求,那么千万不要错过此书。
再次感谢祁冰、左晓杰在本书翻译过程中付出的努力!因为我们一同充任链家网的技术支撑角色,非常了解彼此的甘苦。链家网发展迅速,技术需求不断,大家日常工作量都很饱和,基本都是深夜或假期时抽空翻译,这份对技术分享的热情实属难得!同时,我必须感谢我的家人给予的支持、鼓励,特别感谢我的爱人,因为她的更多承担才让我有时间和精力完成此事。当然,如原著作者所说,我们都应该感谢PHP社区开发人员做出的努力,他们为PHP工程师们提供了更好的开发语言,在解决了我们痛点的同时还为未来提供了更多的可能!谢谢!
吕毅
链家网平台架
这是一次令人愉悦的学习体验!我一直对 PHP 的底层机制抱有浓厚的兴趣,但市面上很多书籍要么过于理论化,要么就是停留在应用层面。而《高性能PHP 7》这本书,恰恰是两者的完美结合。作者对 PHP 7 的内部原理有着深刻的理解,并且能够用一种非常易于理解的方式将其呈现出来。我尤其欣赏书中对垃圾回收机制、内存分配以及 Zend VM 工作流程的细致讲解。这些内容对于理解 PHP 的性能瓶颈至关重要。通过对这些底层原理的深入剖析,我才真正明白为什么在某些情况下,代码会变得异常缓慢。书中提供了一些分析工具的使用方法,比如 Xdebug 和 Blackfire,并结合实际案例展示了如何利用这些工具来定位性能问题。我跟着书里的步骤,尝试分析了自己的一个慢查询接口,很快就找到了症结所在,并且按照书中的建议进行了优化,效果立竿见影。此外,书中还提到了 PHP 7 引入的一些新特性,并详细解释了它们如何帮助开发者编写出更高效、更健壮的代码。例如,对生成器的深入讲解,让我看到了如何优雅地处理大量数据,避免内存溢出。整体而言,这本书为我提供了一个全新的视角来审视 PHP 开发,让我能够从“写出能跑的代码”提升到“写出高性能的代码”。
评分我是一名经验丰富的 PHP 开发者,在接触《高性能PHP 7》之前,我对 PHP 的性能优化已经有了一些自己的理解和实践。然而,这本书还是给我带来了很多惊喜和启发。作者在书中对 PHP 7 的底层实现做了深入的剖析,让我对 PHP 的内存管理、对象生命周期以及函数调用栈有了更深层次的认识。我尤其赞赏书中对“性能的权衡”这一概念的强调,很多时候,极致的性能优化并非总是最佳选择,需要在开发效率、代码可读性、资源消耗之间找到平衡点。书中给出了一些关于如何进行“性能基准测试”的详细指导,并且提供了相应的脚本和工具,让我能够对不同实现方案的性能进行客观的比较。我曾经在一个项目中使用过一种非常复杂的算法,运行效率很低,通过参考书中关于“算法复杂度”和“数据结构选择”的章节,我重新设计了算法,并将时间复杂度从 O(n^2) 降低到了 O(n log n),性能提升了数倍。这本书没有停留在简单的“调参”层面,而是从更根本的角度,引导开发者去理解 PHP 的运行机制,并在此基础上进行有效的优化。对于想要将 PHP 应用推向极致性能的开发者来说,这本书绝对是必读的经典。
评分这本书的价值远超其定价!我是一名 PHP 开发者,虽然接触 PHP 有一段时间了,但总感觉在性能优化方面缺乏系统性的指导。《高性能PHP 7》的出现,正好弥补了这一块的空白。书中的章节安排非常合理,从基础的 PHP 7 核心优化,到进阶的并发模型和异步编程,再到分布式系统的性能考量,层层递进,逻辑清晰。我尤其欣赏作者对于“如何衡量性能”的讲解,不仅仅是提供了一些工具,更重要的是教会了我如何设定合理的性能指标,以及如何科学地进行性能测试和分析。书中对 PHP-FPM 的配置和调优做了非常详细的阐述,包括 worker 进程的设置、max_children 的选择等等,这些参数的调整直接影响到服务器的承载能力,作者给出的指导非常有实践意义。我根据书中提到的方法,调整了 FPM 的配置,成功地将服务器的 CPU 利用率降低了 30%,并且能够处理更多的并发请求。此外,书中还对一些不常用的但却能带来巨大性能提升的技术进行了介绍,比如 Swoole 协程、PHP-CPP 等,虽然这些可能不是每个 PHP 开发者都需要掌握的,但了解其原理和应用场景,能够极大地开阔视野。
评分如果你正在为 PHP 项目的性能问题而头疼,那么这本书绝对是你不可或缺的参考。我之前就遇到过一个复杂的电商平台项目,随着用户量的激增,性能问题暴露得越来越严重,每次发布新功能都需要进行大量的性能测试和调优。读了《高性能PHP 7》之后,我感觉像是找到了失落的宝藏。书中的内容非常接地气,从数据库查询的优化,到缓存策略的运用,再到并发处理的技巧,几乎涵盖了实际开发中所有可能遇到的性能挑战。书中对 Memcached 和 Redis 的使用做了非常详尽的介绍,并且给出了很多实用的代码片段,让我能够快速地将这些缓存技术应用到我的项目中。我特别喜欢书里关于“一致性哈希”在分布式缓存中的应用的讲解,这对我理解如何构建高可用、高性能的缓存系统非常有启发。另外,书中还讨论了如何编写更优化的 SQL 查询语句,以及如何利用 ORM 框架的特性来避免性能陷阱,这些都是日常开发中非常容易被忽视但却至关重要的环节。我按照书中的建议,对数据库的索引进行了优化,并引入了 Redis 作为会话存储,项目整体的响应速度有了质的飞跃。这本书不仅仅是讲解 PHP 7 的新特性,更重要的是它教会了我如何从整体上思考和解决性能问题。
评分这本书简直是我的救星!之前一直在用 PHP 5.x,感觉很多地方都卡住了,性能瓶颈也越来越明显,想升级到 PHP 7 又怕踩坑,毕竟公司项目不能随便折腾。看到《高性能PHP 7》这个名字,简直眼前一亮,觉得终于有人能帮我解答这些困惑了。拿到手后,我迫不及待地翻阅起来。书中的内容非常系统,从 PHP 7 的核心特性讲起,比如 Zend Engine 3 的改进,V8 引擎对 PHP 的影响(虽然这部分不是直接关系,但书里讲得很清楚其背后的思路),以及更重要的强类型声明、返回值类型声明、标量类型声明等等。我尤其喜欢作者在讲解这些新特性时,总是会给出清晰的代码示例,并且会对比 PHP 5.x 的写法,让我能直观地感受到性能提升和代码健壮性的改变。比如,讲到 OPcache 的优化,书里不仅介绍了它的原理,还给出了如何配置和监控的实用技巧,这对我们这种需要上线生产环境的项目来说,简直是太宝贵了。我按照书里的建议调整了服务器配置和 PHP 的一些参数,确实看到了显著的性能提升,页面加载速度快了不少,用户反馈也积极了很多。而且,书中还涉及了一些内存管理的优化和一些常见的性能陷阱,这些都是我之前工作中经常遇到的问题,但总是找不到根本原因。现在看了这本书,感觉豁然开朗,就像打通了任督二脉一样。
评分东西很不错,书的内容很不错,书的质量好,快递非常快
评分东西很不错,书的内容很不错,书的质量好,快递非常快
评分买得东西太多了,都来不及一条一条写评价了。。。。书肯定是不错的,有时候哪怕不太适合,也没关系,书多不压身嘛
评分我是618买的,快递还是那么给力!书用塑料膜包着,全新的,书香满满。很好,很强大?
评分译者 吕毅
评分书不错,纸张质量可以,正在慢慢看。
评分挺好的书,了解php7有很大帮助
评分非常好的一本PHP7快速学习资料
评分出版社 电子工业出版社
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有