【问题标题】:How to develop C extensions for PHP apps?如何为 PHP 应用程序开发 C 扩展?
【发布时间】:2011-02-27 13:54:46
【问题描述】:

我的 PHP 应用程序有一个数字运算部分,这对 PHP 来说很慢,所以我正在考虑构建一个自定义 C 扩展,但找不到任何好的参考开始:(

是否有关于如何执行此类操作的指南?

【问题讨论】:

    标签: php php-extension


    【解决方案1】:

    最好的资源是 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

    【讨论】:

      【解决方案2】:

      这可能不是一个答案,而更像是一个建议,有一些工具可以将你的 php 编译为可执行文件,然后你可以将其用作扩展。这将统一您的代码并统一您的项目。我不久前尝试过这样的事情。编译后的 php 的行为与编译后的 c 没有什么不同。

      【讨论】:

      • 是的,您可以使用 PHP 的嵌入式 SAPI。扩展和嵌入 PHP 涵盖了这一点。但他明确表示他有一个网络应用程序,其中有一部分是他想要优化的,所以我想这不是他想要的。
      • @Artefacto,谢谢。你的评论是有道理的,但我认为编译的 php 会比它的解释版本快很多。
      【解决方案3】:

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

      【讨论】:

      • 这通常也比较慢。
      猜你喜欢
      • 2014-06-04
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2011-03-16
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多