温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

究竟是什么令微软为Windows改进PHP

发布时间:2021-10-18 16:29:02 来源:亿速云 阅读:135 作者:柒染 栏目:编程语言

本篇文章为大家展示了究竟是什么令微软为Windows改进PHP,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

微软正在努力改进PHP在Windows上的运行速度,看来微软对开源社区日渐支持。从另一方面看,51CTO从***一期编程语言排行榜上看到,PHP份额在逐步上升。

微软开源社区主管Garrett Serack最近接受了媒体采访,谈论了微软为实现这一目标所做的努力。

在Windows部署PHP应用性能欠佳

数年以来,PHP开发者或许可能会选择在Windows上进行开发工作,但却很少有人选择将PHP程序部署在Windows上。Serack表示,出现这个结果不是没有道理的。他表示,“当用户在Windows上高兴的运行一个PHP应用时,IIS可能会突然崩溃,而且没人知道其原因何在。现有PHP驱动器基于老协议,性能不高。而原因在于PHP社区缺少完善它所必需的信息。”

Serack认为,自从微软开发者了解到使用PHP语言可以开发第三方应用,微软就面临着一个新问题。微软逐渐开始意识到,开发者之所以不在Windows上部署PHP,原因是他们无法使用,并且微软内部的一部分人开始准备做出改变。自此之后,Serack的大部分时间都花在这个工作上。

微软改善Windows对PHP的支持

首先鼓励微软改善Windows对PHP支持的是SQL Server团队,它希望让现有开源应用可以更好的使用SQL Server驱动。也就是说,他们希望开发者在Windows上部署PHP应用时,使用SQL Server而不是MySQL,或者说至少是为了减少人们对自己的批评。2007年10月,***新改进版的Windows PHP驱动发布。但却并未被开源社区所接受,于是SQL Server团队又再次对其进行修改,以实现人们真正想要的功能。

究竟是什么令微软为Windows改进PHP
图 PHP运行在Windows Server 2008下:性能提高130%

非常自然,该团队希望把修改后的代码反馈给开源社区。据Serack表示,这意味着需要和微软法律团队进行多次沟通,才能获准共享该代码。这个法律过程花费了数月时间,因为对微软来说,开源代码依然是一件比较新鲜的事情。但并非微软自己才面临这种挑战,正如Serack所指出的那样,“每一个向开源社区共享代码的大公司都要经过类似的法律审批过程。”

不管怎样,在去年的OSCON大会上,微软向Adobe和其它项目提交了代码。Serack表示,“大约去年这个时候,微软开源软件实验室工作人员希望加速PHP在Windows上的开发。”当时Pierre Joye有空闲时间,因此微软让他与Serack共同实现以下目标:在Windows上完善PHP。

同时,Serack开始完善Windows PHP生成过程,重新为其编写脚本。由于涉及到如此多其它项目,他不得不创建工具后又重建更多工具。他表示,“我希望包含所有DLL。”他创建了一个跟踪工具,来跟踪正在被创建的内容,并创建了全新的Visual Studio项目文件。Serack欣慰的表示,“再也不需要make文件和定制批处理脚本了。”

仅仅通过上述改进,核心解释器基准测试的速度与PHP在Linux上运行速度的差距就缩小到1%以内。接下来,Serack创建了一个二进制工具,并通过它运行真实数据(也就是真正的PHP脚本),提供规范的数据给编译器。配置文件导引优化(Profile-Guided Optimization,PGO)是Visual Studio最酷功能之一,这一点已经被.NET开发者朋友所证实。这使其核心解释器的速度快了18%左右,而且未修改一行代码,只是修改了生成过程。

完善生成过程并不是一件没有意义的任务。让每一个模块使用相同且正确的设置被编译需要花点时间。Serack表示,“如果一个库使用不同的优化,它就不正常了。”

他表示,Joye还更换了一些老的程序库。举例来说,POSIX正则表达式函数库已经有大约10年历史。Serack表示,创建新版依赖库对性能有较大影响,但同时对可靠性也具有较大影响。

现在并非说该任务已经完全完成。所谓开源项目,或开发项目,就如同写长篇小说一样,编程永远不会完成,只有被放弃。Serack表示,“我们还正在进行一些努力。”举例来说,与Linux相比,Windows的文件系统实现有不同之处。而且他承认,“在现实世界应用中,在性能方面我们还难言成功。但是至少我们已经拥有了这个真正稳定的平台。”

有人或许认为:“微软?开源?承诺?你一定是在开玩笑。”Serack本人最初也不轻信这种态度。实际上,微软在进行Windows上的PHP改进时,故意保持非常低调的态度。Serack表示,“我们不想得罪别人,我们的目标是让PHP很好的运行在Windows上。我们希望对PHP作出共享,而不是分裂它。那是我们连想也不会想的事情。我们通过共享代码来参与到社区中,而非控制社区。”

Serack的目标就是简单的让PHP更好的运行在Windows上。他对开发者的反响感到激动,“太棒了!我已经拥有一个Windows服务器。现在我不用再买一台来运行我的PHP应用了。”

Serack十分欢迎来自PHP社区的帮助和建议;他希望人们能够发表自己的观点,谈谈如何在Windows上更好运行PHP,尤其是欢迎开发者提出能够帮助跟踪问题和优化的意见。他表示,“如果有错,让我们一起修改。”

Serack表示,“我们已经让人们做出选择,现在他们可以在Windows上部署PHP,并能够正常运行它们。”

上述内容就是究竟是什么令微软为Windows改进PHP,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI