【问题标题】:pdo_pgsql and php on mac os x yosemitemac os x yosemite 上的 pdo_pgsql 和 php
【发布时间】:2015-06-05 00:25:09
【问题描述】:

所以我从源代码编译 pdo_pgsql 并将扩展添加到我的 php.ini

phpinfo()

说

PDO

PDO support enabled
PDO drivers mysql, sqlite, pgsql

pdo_pgsql

PDO Driver for PostgreSQL   enabled
PostgreSQL(libpq) Version   9.4.2
Module version  1.0.2

但是

pg_connect("host=localhost dbname=dbname user=username password=password")

给予

Call to undefined function pg_connect()

是的,我确实重启了 apache。

SERVER_SOFTWARE Apache/2.4.10 (Unix) PHP/5.5.20

我使用的是 Mac OS X Yosemite 10.10.3

谢谢!

【问题讨论】:

  • 我使用 PDO 构造函数,例如: self::$journal_pdo = new \PDO('mysql:host=localhost;dbname=applog;charset=utf8' , $user , $pass); ...我认为 DSN 是“pgsql”。试试看。

标签: php osx-yosemite


【解决方案1】:

如何让你的连接像这样:

    try {
        $conn = new PDO('pgsql:host=localhost;port=port-number;dbname=database','db-user','db-pass');

        $conn->query("SET NAMES UTF8");
    } catch (PDOException $e) {
        die('Connection failed: ' . $e->getMessage());
    }

【讨论】:

  • 是的,行得通。那么扩展是怎么回事,为什么不添加 pg_connect 函数呢?
  • 我仍在研究如何弃用 pg_connect。得到答案后会更新。
  • 在php链接...The old syntax with multiple parameters $conn = pg_connect("host", "port", "options", "tty", "dbname") has been deprecated.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
相关资源
最近更新 更多