如何用C扩展PHP?
我可以编写可编译并用于扩展 PHP 的 C++ 代码(我不是指调用可执行文件)吗?我可以描述一些类、函数并通过调用已编译的(.so 或 .a 文件)C++ 代码在我的 PHP 代码中使用它们吗?如果是,请示意性地向我解释一下它是如何完成的。
Can I write a C++ code that can be compiled and used for extending PHP (I don't mean calling an executable file)? Can I describe some classes, functions and use them for in my PHP code by calling the compiled (.so or .a file) C++ code? If yes, then please explain me schematically how it is being done.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,您可以通过编写 PHP 扩展来做到这一点。
请参阅PHP 核心:Zend 引擎黑客指南。
Yes, you can do so by writing a PHP extension.
See PHP at the Core: A Hacker's Guide to the Zend Engine.
正如前面的答案中已经提到的,Zend 引擎是一个不错的选择。
另一种选择是SWIG(它支持多种语言)
具体来说,对于C++的php,您可以参考:
http://www.swig.org/Doc1.3/Php.html
The Zend engine is a good option as already mentioned in the previous answer.
Other alternative is SWIG (it supports multiple languages)
Specifically, for php with C++, you can refer to:
http://www.swig.org/Doc1.3/Php.html