在Mac上为PostgreSQL安装PDO驱动程序(使用Zend进行Eclipse)

时间:2020-03-05 18:53:07  来源:igfitidea点击:

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

解决方案

回答

我不确定这是否特别有助于PDO驱动程序,但是我们可以考虑使用BitNami的MAPPStack。

我在Mac上使用Postgres,PHP和Apache时遇到了很多麻烦,其中有些与某些或者全部的64vs 32位版本有关。到目前为止,BitNami MAPPStack安装通常运行良好。也许对PDO问题也有帮助。

回答

看一下这个PECL包:PDO_PGSQL

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

回答

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

我们需要做的第一件事是安装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便会启动并运行。