【问题标题】:Postgresql database with PHP server error on MacOS BashMacOS Bash 上带有 PHP 服务器错误的 Postgresql 数据库
【发布时间】:2023-03-22 18:17:01
【问题描述】:

我在我的大学计算机上运行了一个带有 postgresql 的 PHP 服务器,它运行良好,但是在我的本地计算机(运行 MacOS)上,我收到以下错误消息:

Call to undefined function pg_Connect() in /Users/mac/Documents/<... the remaining path to php file>.php on line 2

现在,我认为这是缺少 php 的 postgresql 包的问题,​​所以我使用 brew 安装了 php postgresql 包。我运行了以下命令:

brew install postgresql
brew install php55 --with-postgresql
brew install php55-pdo-pgsql

但是,即使在运行这些命令后,我在运行 php 服务器时也会遇到同样的错误,即

Call to undefined function pg_Connect() in /Users/mac/Documents/<... the remaining path to php file>.php on line 2

我的php版本是5.5.30:

mac$ php -v
PHP 5.5.30 (cli) (built: Oct 23 2015 17:21:45) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

请您建议我在安装软件包时做错了什么。我在堆栈溢出中读到,可以在 linux 上使用 apt-get 命令安装这些软件包,但是我不确定 Mac 操作系统的解决方案是什么。

提前致谢。

【问题讨论】:

  • 请运行postgres -V 命令并检查您的 posgress 版本。如果 postgress 安装正确,它会显示版本号和详细信息。
  • 您好,感谢您的回复。我认为 postgres 安装正确,但我无法通过 php 访问它,例如我无法使用 php 中的 pg_connect() 等函数。
  • 我从 postgres -V 得到以下输出:postgres (PostgreSQL) 10.3

标签: php bash macos postgresql homebrew


【解决方案1】:

解决方案是编辑服务器上的 php.ini,然后在下面的行中找到该行并取消注释该行。

extension="pgsql.so"

然后重新启动服务器 apache 并再次测试。

另外,请查看this link,了解有关将 postgress 安装到 mac OS 的步骤。

【讨论】:

  • 您好,感谢您的快速回复。我检查了 php.ini 文件(在 /etc 目录下),找不到行:extension="pgsql.so"。但是存在以下行:extension=php_pdo_pgsql.dll 和 extension=php_pgsql.dll。我取消了这两个的注释并重新启动了服务器(我正在运行本地服务器)并再次尝试但它没有工作。有什么可能的原因吗?
  • 我得到以下输出:postgres (PostgreSQL) 10.3
  • 我刚刚检查了您提供的链接(谢谢),我可以从链接中提到的命令行查看 postgres 表,但是我认为问题在于通过 PHP 访问 postgres .不过我不完全确定。
  • 好吧,那可能就是问题所在,因为你的情况下 postgress 没问题。如果对您有帮助,请投票/接受我的回答。谢谢。 @AmishBedi
  • 好的,谢谢,我会试着找出问题所在。无论如何感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 2011-12-20
  • 2014-02-26
  • 1970-01-01
相关资源
最近更新 更多