PHP 未加载 postgresql 扩展 ( mac os x)

PHP not loading postgresql extensions ( mac os x)

我当前在 php 中的扩展文件夹是(执行 php-config --extension-dir)

/usr/lib/php/extensions/no-debug-non-zts-20100525

在此目录中,我有我需要加载的 postgresql 扩展

-rwxrwxrwx  1 root  wheel   32940 Feb 25 17:12 pdo_pgsql.so
-rwxrwxrwx  1 root  wheel  135652 Feb 25 23:55 pgsql.so

在 phpinfo() 显示的 php.ini 上,我没有注释这些行

extension=pdo_pgsql.so
extension=pgsql.so

Php 和 postgre 是用 brew 安装的。 我 "make" pgsql.so 和 pdo_pgsql.so 以及与我的实际版本 5.6.5

相对应的 php 源文件

每次我调用 pg_connect 它都会显示一个致命错误

Fatal error: Call to undefined function pg_connect() 

解决方案

我的版本不是使用 brew 中的 --with-postgresql 选项构建的,所以我卸载了 php56,然后使用在遵循所有说明之前提到的选项重新安装它

https://github.com/Homebrew/homebrew-php

在我的案例中,您可以使用 brew info php56 获得 post 安装说明。

使用 postgresql 构建的 php,您不需要在 php.ini 文件中添加 pgsql.so 和 pdo_pgsql.so 扩展。

更新 php 版本对我有用:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6