书籍作者:Altaf Hussain | ISBN:9787121309380 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:5251 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《高性能PHP 7》从PHP所需环境讲起,涉及环境搭建与配置设置等内容,能够帮助有一定计算机基础的读者实现PHP运行环境的搭建及PHP周边软件的安装配置。《高性能PHP 7》亮点内容是介绍PHP 7特性的部分,同时也告诉读者哪些语法将会被废弃,对读者上手PHP 7有极大的帮助。除介绍PHP 7的新特性外,《高性能PHP 7》用大量章节介绍如何使用PHP 7及周边软件来构造高性能的Web应用程序,同时介绍了一些PHP开发的zui佳实践,帮助读者更好地理解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。
《高性能PHP 7》通俗易懂且图文并茂,实践案例丰富,相信一定能吸引大家阅读。全书目标清晰,始终围绕着如何使用PHP及周边技术来优化性能这一主题,能够为许多工程师解决实际问题。
译者序
我从本科二年级开始,就使用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工程师们提供了更好的开发语言,在解决了我们痛点的同时还为未来提供了更多的可能!谢谢!
吕毅
链家网平台架
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
不要被书的效果图蒙蔽,只是薄薄的181页,读起来轻松,其中几处明显的文字和符号错误,虽然书中没有讲解php7如何提高性能的,但对httpweb/apache/nginx/mysql/redis/memcached简单的性能优化讲解还是很适用。
2017-03-20
PHP7
2017-02-23