【问题标题】:Installing PDO-drivers for PostgreSQL on Mac (using Zend for eclipse)在 Mac 上为 PostgreSQL 安装 PDO 驱动程序(使用 Zend for eclipse)
【发布时间】:2010-09-08 20:55:18
【问题描述】:

如何让 PDO 在我的 mac (os x 10.5) 上工作?我在 Zend/Eclipse 中使用内置的 php 和 php。似乎根本找不到有用的驱动程序。

【问题讨论】:

    标签: eclipse macos postgresql pdo


    【解决方案1】:

    通过brew安装新的php版本并重启服务器,php -v,所有问题都解决了。

    【讨论】:

      【解决方案2】:

      这对我有用

      brew install php55-pdo-pgsql
      

      这将安装 PHP 5.5.32 和 PostgreSQL 9.5。我已经安装了 PostgreSQL 9.4,所以我卸载了自制版本:

      brew uninstall postgres
      

      然后您必须更新 /etc/apache2/httpd.conf 以指向正确的 PHP 版本并重新启动 Apache:

      LoadModule php5_module /usr/local/Cellar/php55/5.5.32/libexec/apache2/libphp5.so
      

      我的 OSX 版本是 Yosemite。

      【讨论】:

        【解决方案3】:

        我最近不得不在 Leopard 上安装 PDO_PGSQL 驱动程序,但遇到了很多问题。在寻找答案的过程中,我偶然发现了这个问题。现在我已经成功安装了它,所以,即使这个问题已经很老了,我希望我的发现可以帮助其他人(比如我自己),他们无疑会遇到类似的问题。

        您需要做的第一件事是install PEAR,如果您还没有这样做的话,因为默认情况下它没有安装在 Leopard 上。

        完成后,使用 PECL 安装程序下载 PDO_PGSQL 包:

        $ pecl download pdo_pgsql
        $ tar xzf PDO_PGSQL-1.0.2.tgz
        

        (注意:您可能必须以超级用户身份运行pecl,即sudo pecl。)

        之后,由于 PECL 安装程序无法直接安装扩展,您需要自己构建和安装:

        $ cd PDO_PGSQL-1.0.2
        $ phpize
        $ ./configure --with-pdo-pgsql=/path/to/your/PostgreSQL/installation
        $ make && sudo make install
        

        如果一切顺利,你应该有一个名为“pdo_pgsql.so”的文件位于一个类似于“/usr/lib/php/extensions/no-debug-non-zts-20060613/”的目录中(PECL 安装应该输出了它安装扩展的目录)。

        要完成安装,您需要编辑您的 php.ini 文件。找到标有“动态扩展”的部分,然后在(可能已被注释掉的)扩展列表下方,添加以下行:

        extension=pdo_pgsql.so
        

        现在,假设这是您第一次安装 PHP 扩展,您需要采取两个额外的步骤才能使其正常工作。首先,在php.ini 中,找到extension_dir 指令(在“路径和目录”下),并将其更改为安装了pdo_pgsql.so 文件的目录。例如,我的extension_dir 指令如下所示:

        extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"
        

        第二步,如果您使用的是 64 位 Intel Mac,则需要让 Apache 在 32 位模式下运行。 (如果有更好的策略,我想知道,但目前,这是我能找到的最好的。)为了做到这一点,编辑位于/System/Library/LaunchDaemons/org.apache.httpd.plist 的属性列表文件。找到这两行:

        <key>ProgramArguments</key>
        <array>
        

        在它们下面,添加这三行:

        <string>arch</string>
        <string>-arch</string>
        <string>i386</string>
        

        现在,只需重新启动 Apache,PDO_PGSQL 就会启动并运行。

        【讨论】:

          【解决方案4】:

          看看这个PECL包:PDO_PGSQL

          我自己没有尝试过,但我一直对使用 Postgres 作为 MySQL 的替代品感兴趣。如果我有机会尽快尝试一下,我会将我的结果放在这里以防万一。

          【讨论】:

            【解决方案5】:

            我不确定这对 PDO 驱动程序是否有帮助,但您可以查看BitNami's MAPPStack

            我在 Mac 上使用 Postgres、PHP 和 Apache 时遇到了很多麻烦,其中一些与 64 位和 32 位版本的部分或全部有关。到目前为止,BitNami MAPPStack 安装总体上运行良好。也许它也可以帮助您解决 PDO 问题。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-11-21
              • 2016-12-04
              • 2016-03-16
              • 1970-01-01
              • 2010-09-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多