gpt4 book ai didi

php - 在 Mac OS X 上的 PHP 中启用 PostgreSQL 支持

转载 作者:IT王子 更新时间:2023-10-29 01:12:35 33 4
gpt4 key购买 nike

我很难让命令“pg_connect()”在我的 Mac 上正常工作。我目前正在编写一个 PHP 脚本(从控制台执行)来读取 PostgreSQL 数据库并通过电子邮件发送报告。

我已经进入我的 php.ini 文件并添加了

extension=pgsql.so

但是,我遇到了以下错误。

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/php_pgsql.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/php_pgsql.so, 9): image not found in Unknown on line 0
PHP Fatal error: Call to undefined function pg_connect() in... (blah file here)

运行 phpinfo() 时,我没有看到任何关于 PostgreSQL 的信息,那么我的问题是什么?

最佳答案

与 OS X 捆绑在一起的 PHP 版本不包括 PostgreSQL。您必须自己编译扩展。以下是一些说明:

  1. 查找您的 PHP 版本:php -v
  2. 下载与您的相匹配的 PHP 版本:curl -O http://us.php.net/distributions/php-5.3.3.tar.gz。 (此示例下载 PHP 5.3.3,但这必须与您的版本相匹配)
  3. 解压缩您下载的存档:tar -xzvf php-5.3.3.tar.gz
  4. 切换到 PostgreSQL 的扩展目录:cd php-5.3.3/ext/pgsql/
  5. 键入 phpize
  6. 键入 ./configure
  7. 键入 make
  8. 键入 sudo make install
  9. 通过添加 extension=pgsql.so 将扩展添加到您的 php.ini 文件。 (您可能已经这样做了)
  10. 重新启动 Apache。

OS X Mountain Lion 更新Apple 已从较新版本的 XCode 中删除了 autoconf,因此上述过程将在 #5 处失败。要解决该问题:

  1. 输入 /usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb) ".
  2. 键入 sudo chown -R $USER/usr/local/Cellar
  3. 键入brew update
  4. 键入 brew install autoconf

这应该安装 autoconf 并允许您使用上面的说明安装模块。

关于php - 在 Mac OS X 上的 PHP 中启用 PostgreSQL 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6588174/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com