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