我的 PHP 应用程序有一个数字运算部分,这对 PHP 来说很慢,所以我正在考虑构建一个自定义 C 扩展,但是找不到任何好的参考开始:(
有没有关于如何做这样的事情的指南?
我的 PHP 应用程序有一个数字运算部分,这对 PHP 来说很慢,所以我正在考虑构建一个自定义 C 扩展,但是找不到任何好的参考开始:(
有没有关于如何做这样的事情的指南?
最好的资源是Sara Golemon的Extending and Embedding PHP,虽然在某些方面已经过时(它只涵盖 PHP 直到 5.1 版) 。更过时的是PHP 文档。另一方面,PHP wiki上的内容是最新的,但也很不完整,而且不适合初学者。另请参阅这些文章, George Schlossnagle的Advanced PHP Programming第 V 部分,Rasmus Lerdorf 和 Kevin Tatroe的Programming PHP第 14 章,特别是这些幻灯片。
最后,您会发现最权威的来源是与 PHP 捆绑在一起的扩展的源代码。
这可能不是一个答案,但更像是一个建议,有一些工具可以将您的 php 编译为可执行文件,然后您可以将其用作扩展。这将统一您的代码并统一您的项目。我不久前尝试过这样的事情。编译后的 php 的行为与编译后的 c 没有什么不同。
另一种选择是用 C 语言编写的命令行工具,您可以从 PHP 开始并通过 stdin/stdout 进行通信。在许多情况下,这更容易编写和部署,但这最终取决于您的用例。