22

我在某处读到,有时 PHP 根本不够快,编译的代码有时必须“做繁重的工作”

执行此操作的 C++ 中的 api 是什么?

4

4 回答 4

42

您可以将函数/类添加到 PHP,用 C 编程(如果我没记错的话,您可以从 C 包装一个 C++ 类,如果我从前一段时间读过的一篇文章中没记错的话),这可能会让您更快地做一些事情——如果编程的话好:不需要解释PHP代码;仅执行机器代码,这通常更快。

为此,您必须开发一个PHP 扩展

Internet 上没有那么多可用的资源,但这些资源可能会帮助您开始:

而且,特别是关于 C++ 部分,这个也可能有帮助:

如果你对这个主题真的很感兴趣,并准备花一些钱,你也可以购买这本书扩展和嵌入 PHP 有些页面也可以在 Google Books 上预览;我看过几次,当对这个主题感兴趣时,我会读这本书(事实上,我前段时间就买了它,读起来很有趣)

顺便说一句,那本书的作者也是我链接到的前四篇文章的作者;-)

于 2009-10-01T06:44:12.397 回答
12

您实际上可以在没有任何 API 的情况下执行已编译的应用程序:

$output = exec('/path/to/yourapp');

除此之外,您总是可以编写一个 PHP 扩展。这里有一个关于这个主题的很好的指南:http: //devzone.zend.com/article/1021

于 2009-10-01T06:43:53.303 回答
9

swig,简化的包装器和接口生成器可以帮助您将(现有的)c++ 包装到一个 php 模块中。

SWIG 是一种软件开发工具,它将用 C 和 C++ 编写的程序与各种高级编程语言连接起来。SWIG 与不同类型的语言一起使用,包括常见的脚本语言,例如 Perl、PHP、Python、Tcl 和 Ruby。
于 2009-10-01T09:48:11.013 回答
1

好吧,您还没有定义您要做什么,但是如果您需要 C++ 接口,请查看源代码中的 ext 目录以了解如何编写 PHP 扩展,然后您可以从 PHP 脚本中加载和使用该扩展.

几个可能有帮助的链接:

http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/ http://devzone.zend.com/article/1021

于 2009-10-01T06:46:59.133 回答