您没有提供很多有关设置的详细信息,因此不清楚您是否安装了 Postgres 驱动程序。开箱即用不支持 Postgres。您必须自己构建和/或安装它。
Facebook 有一个"official" list of HHVM extensions。 PGSQL 尚未(尚未)集成到 HHVM 中,但 Facebook 的页面指向外部 GitHub 项目,该项目位于此处:
Postgres Extension for HHVM
以下是项目说明的摘要;您可以在README.md 文件中自己阅读它们。
从源代码构建
如果你想从源代码构建它,你需要安装 hhvm-dev 和 libpq-dev 包。安装后,以下命令将构建扩展:
$ cd /path/to/source
$ hphpize
$ cmake .
$ make
这将生成一个 pgsql.so 文件,即可动态加载的扩展。将此文件复制到/etc/hhvm/pgsql.so。
预构建的二进制文件
如果您不想构建它,可以在此处的单独“发布”分支中为一些流行的发行版预构建二进制版本:Releases。
再次,将下载的 pgsql.so 文件复制到/etc/hhvm/pgsql.so。
配置
无论您是从源代码构建还是安装二进制文件,您都需要告诉 HHVM 在哪里可以找到它。编辑您的配置文件(通常为/etc/hhvm/php.ini)并在它们不存在时添加它们:
extension_dir = /etc/hhvm
hhvm.extensions[pgsql] = pgsql.so
您可以通过运行检查一切是否正常
hhvm --php -r 'var_dump(function_exists("pg_connect"));'
如果一切正常,这将输出bool(true)。
您可能需要重新启动 HHVM 才能让服务器获取扩展。