如何为PHP应用程序开发C扩展?

3

我的PHP应用程序有一个数字计算部分,但是在PHP中速度太慢了,所以我想构建一个自定义的C扩展,但是很难找到一个好的参考资料来开始 :(

是否有指南可以告诉我如何做到这一点?

3个回答

7

最好的资源是Sara Golemon所著的扩展和嵌入PHP,尽管在一些方面已经过时(它只涵盖了PHP 5.1版本)。PHP文档更加过时。另一方面,PHP维基上的内容非常更新,但也相当不完整,对初学者不太友好。还可以参考这些文章George Schlossnagle所著的高级PHP编程第V部分、Rasmus Lerdorf和Kevin Tatroe所著的PHP编程第14章,特别是这些幻灯片

最后,你能找到的最权威的资源是与PHP捆绑的扩展源代码


1
这可能不是一个答案,而更像是一个建议。有一些工具可以将你的PHP编译成可执行文件,然后你可以将其作为扩展使用。这样做可以使你的代码更加统一,也可以统一你的项目。我之前尝试过类似的东西。编译后的PHP与编译后的C没有任何区别。

是的,您可以使用PHP的嵌入式SAPI。《扩展和嵌入PHP》涵盖了这一点。但他特别提到他有一个Web应用程序,其中有一部分他想要优化,所以我猜那不是他想要的。 - Artefacto
@Artefacto,谢谢。你的评论很有道理,但我认为编译后的PHP比其解释版本要快得多。 - Babiker

-1
另一种选择是使用C语言编写命令行工具,您可以从PHP启动并通过stdin / stdout进行通信。在许多情况下,这种方法更容易编写和部署,但最终取决于您的用例。

1
这通常也会更慢。 - fmark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接