微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – HHVM 3.1.0和PGSQL

我在使用Nginx在Ubuntu Trusty 14.04(LTS)的HHVM 3.1.0中运行PGsql扩展时遇到问题.

#hhvm --version
HipHop VM 3.1.0 (rel)
Compiler: tags/HHVM-3.1.0-0-g71ecbd8fb5e94b2a008387a2b5e9a8df5c6f5c7b
Repo schema: 88ae0db264d72ec2e2eb22ab25d717214aee568b

按照此处的说明,https://github.com/PocketRent/hhvm-pgsql我编辑我的/etc/hhvm/PHP.ini文件,并添加以下内容

DynamicExtensionPath = /data/config/etc/hhvm/extensions/
DynamicExtensions {
    * = pgsql.so
}

但是在启动HHVM时遇到错误

# service hhvm restart
 * Restarting HHVM FastCGI Daemon hhvm
 Syntax error,unexpected JUNK,expecting $end or TC_SECTION or TC_LABEL or END_OF_LINE in /etc/hhvm/PHP.ini on line 13\n
 Syntax error,expecting $end or TC_SECTION or TC_LABEL or END_OF_LINE in /etc/hhvm/PHP.ini on line 13\n

我的PHP.ini看起来像这样

; PHP options

; hhvm specific
hhvm.log.level = Warning
hhvm.log.always_log_unhandled_exceptions = true
hhvm.log.runtime_error_reporting_level = 8191
hhvm.MysqL.typed_results = false


; hhvm.dynamicextensions.pgsql = /data/config/etc/hhvm/extensions/pgsql.so

DynamicExtensionPath = /data/config/etc/hhvm/extensions/
DynamicExtensions {
    * = pgsql.so
}

您可以看到我已经根据我从hdf移动到ini文件的信息尝试了以下内容

hhvm.dynamic_extensions.pgsql = /data/config/etc/hhvm/extensions/pgsql.so

它在启动时不会抛出任何错误,但在运行PHP代码时不会呈现

if (extension_loaded('pgsql')) {

pgsql.so来自于https://github.com/PocketRent/hhvm-pgsql/tree/releases/3.1.0/ubuntu/trusty的预构建二进制文件,以确保它与我正在使用的Ubunntu / HHVM版本匹配.

任何人都可以在这里帮忙告诉我发生了什么事吗?

谢谢!

解决方法

您目前无法使用INI格式(hhvm.dynamic_extensions.pgsql或扩展名)将扩展加载到HHVM中.你必须使用Hdf格式.

最简单的方法是在Web和CLI上运行它是创建/etc/hhvm/config.hdf并添加

DynamicExtensionPath = /data/config/etc/hhvm/extensions
DynamicExtensions {
    * = pgsql.so
}

然后,编辑/ etc / default / hhvm并取消注释ADDITIONAL_ARGS行并将其更改为ADDITIONAL_ARGS =“ – c /etc/hhvm/config.hdf”.重新启动HHVM然后应该接收它.

CLI会自动尝试加载此文件,因此您不需要执行任何额外操作(除非您传入-c选项,否则您还需要传入config.hdf文件)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐