kch*_*hkg 5 php c++ facebook hhvm
我正在为HHVM编写C++扩展(动态加载).我按照此页面上的说明操作:https: //github.com/facebook/hhvm/wiki/Extension-API
链接到以下示例:https: //github.com/hhvm/extension-example
我在Ubuntu 14.04上编译了hhvm,耗时近2个小时.然后我也编译了示例扩展.
我的问题是,如何加载它?
互联网上的信息似乎已过时或不一致.无论如何,我首先尝试使用以下行创建/etc/hhvm/config.hdf:
DynamicExtensions {
example = /path/to/example.so
}
Run Code Online (Sandbox Code Playgroud)
没啥事儿.然后我看到了这个:来自:http://hhvm.com/blog/4349/hhvm-3-0-0
我们正在从.hdf配置文件转移到.ini.默认值存在于/etc/hhvm/php.ini中.我们还不支持所有旧的选项,所以你现在仍然可以使用config.hdf,但要准备好它在下一个版本中死掉.你最喜欢的所有选项都是从Foo {BarBaz = True}到hhvm.foo.bar_baz = true.
好的,然后我尝试在/etc/hhvm/php.ini或/etc/hhvm/server.ini而不是.hdf中添加行
hhvm.dynamic_extensions.example = /path/to/example.so
但没有运气,没有任何效果.我需要更多信息/文档.
那么,有谁知道会发生什么?或者如果Facebook的HHVM团队看到这篇文章,你能帮帮我吗?
小智 7
我看到你已经设法让它加载,所以我只关注无法找到该功能.
在HHVM 3.0发布后不久,从扩展中加载PHP文件的方式发生了变化.基本上,文件名的前四个字符在嵌入时会被剥离,因为它是预期的ext_name.php.直到昨晚,此更改的示例扩展尚未更新.
变化相当简单.只需重命名example.php为ext_example.php,然后在config.cmake更改HHVM_SYSTEMLIB(example example.php)中HHVM_SYSTEMLIB(example ext_example.php)重新运行cmake . && make.
您可以在此处查看已提交的更改(确实如此)
| 归档时间: |
|
| 查看次数: |
2012 次 |
| 最近记录: |