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

时间:2011-04-12 04:36:21

标签: php

所以在过去我总是使用预编译的Windows PHP binaries,但后来this guide引起了我的注意。

这让我想到了这个:

  • 为什么有人想在二进制文件可用时从源代码编译PHP?
  • 我应该注意哪些表现奖励?
  • 如果是这样,是否应该注意到足够多的金额?

作为参考,我将PHP主要用于CLI应用程序,主要用于批量数据处理和一些网站信息收集 我的系统规格:Windows 7 x64,6GB RAM,Intel Q6600(2.4gHz x 4)。

3 个答案:

答案 0 :(得分:2)

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

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

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

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

否则,只需坚持使用二进制文件。

答案 1 :(得分:1)

如果您信任二进制文件的提供者,他们没有做一些不好的事情,那么我不会看到性能与您编译的任何内容有何明显不同,除非您的编译器明显优于常规。

<小时/> 正如Dagon所说,真正偏执(或曾经被咬过)的系统管理员宁愿从源头编译。

答案 2 :(得分:1)

  

为什么有人想要编译PHP   从二进制文件的来源   可供他们使用?

我认为有一个原因是需要启用特定扩展 - 可能是静态编译它们,而不是使用外部.dll文件

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


  

我应该有性能奖励吗?   要知道吗?

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

此外,如果您编译(仅)嵌入到生成的二进制文件中所需的扩展名,那么您将无需动态加载这些文件。


  

这是一个足够重要的数量   我应该注意了吗?

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

特别是考虑到在Windows上编译PHP比在Linux上有点困难......