【问题标题】:PHP not loading postgresql extensions ( mac os x)PHP 不加载 postgresql 扩展(mac os x)
【发布时间】:2023-03-31 02:35:01
【问题描述】:

我当前在 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 安装的。 我使用与我的实际版本(5.6.5)相对应的 php 源文件“制作”pgsql.so 和 pdo_pgsql.so

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

Fatal error: Call to undefined function pg_connect() 

【问题讨论】:

    标签: php macos apache postgresql


    【解决方案1】:

    解决方案

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

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

    在我的情况下,您可以使用brew info php56 获取安装后指令。

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

    【讨论】:

    • 谢谢!另外:可以使用$ brew install php56-pdo-pgsql 安装 PDO 扩展。
    • 其实你可以brew reinstall php56 --with-postgresql添加卸载支持
    【解决方案2】:

    更新 php 版本对我有用:

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

    【讨论】:

      猜你喜欢
      • 2016-04-10
      • 2011-05-20
      • 2019-05-30
      • 2016-02-02
      • 2013-11-01
      • 2019-08-13
      • 1970-01-01
      • 2010-11-29
      • 2019-07-01
      相关资源
      最近更新 更多