Php 从源代码编译与预编译的Windows二进制文件

Php 从源代码编译与预编译的Windows二进制文件,php,Php,所以在过去,我总是使用预编译的,但后来引起了我的注意 这让我想到: 当二进制文件可用时,为什么有人想从源代码编译PHP 我是否应该注意绩效奖金 如果是这样的话,我是否应该注意到这一点 作为参考,我将PHP用于大多数CLI应用程序,主要用于批量数据处理和一些网站信息收集。 我的系统规格:Windows 7 x64,6gb RAM,Intel Q6600(2.4gHz x 4)。如果你相信二进制文件的提供者,他们没有做坏事,那么我看不出性能会与你可以编译的任何东西有多大的不同,除非你的编译器明显

所以在过去,我总是使用预编译的,但后来引起了我的注意

这让我想到:

  • 当二进制文件可用时,为什么有人想从源代码编译PHP
  • 我是否应该注意绩效奖金
  • 如果是这样的话,我是否应该注意到这一点
作为参考,我将PHP用于大多数CLI应用程序,主要用于批量数据处理和一些网站信息收集。

我的系统规格:Windows 7 x64,6gb RAM,Intel Q6600(2.4gHz x 4)。

如果你相信二进制文件的提供者,他们没有做坏事,那么我看不出性能会与你可以编译的任何东西有多大的不同,除非你的编译器明显优于标准。

正如Dagon所指出的,真正偏执的(或曾经被咬过的)系统管理员宁愿从源代码处编译。

我可以想出三个很好的理由来编译PHP,而不是在Windows上使用二进制构建:

  • 您需要一个在扩展名或编译时编译的选项,该选项不是可用二进制文件的标准选项

  • 内存不足,需要一个更精简的PHP可执行文件,该文件没有不使用的扩展

  • 您需要一个专门为处理器/环境编译的二进制文件,以获得可能实现的性能提升(如果您有一个不寻常的设置,则可能)

否则,只需使用二进制文件即可

为什么有人要编译PHP 当二进制文件 他们有空吗

我想一个原因是启用所需的特定扩展——可能是静态编译它们,而不是使用外部.dll文件

另一个原因(主要是在Linux上)是要有最新版本的PHP——这通常不是发行版提供的版本


我应该有绩效奖金吗 知道吗

我认为,如果您的服务器上有特定的体系结构,那么由通用编译生成的二进制文件的效率可能低于专门为其生成的二进制文件的效率——前提是您使用了正确的配置选项和开关进行编译

此外,如果编译(仅)嵌入到生成的二进制文件中所需的扩展名,则不需要动态加载这两个文件


这是否足够重要 我应该注意吗

考虑到你没有运行一些每秒数百个请求的重载网站。。。不确定自己编译会有那么有趣


特别是考虑到在Windows上编译PHP比在Linux上编译要困难一些…

1。所以他们可以先阅读\编辑它,2。不,除非你改变它。