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

时间:2008-09-15 00:14:10

标签: eclipse macos postgresql pdo

如何让PDO在我的mac上运行(os x 10.5)?我在Zend / Eclipse中使用内置的php和php。似乎无法找到有用的驱动程序。

5 个答案:

答案 0 :(得分:31)

我最近必须在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文件的目录。例如,我的{{ 1}}指令看起来像:

extension_dir

第二步,如果您使用的是64位Intel Mac,则需要让Apache以32位模式运行。 (如果有更好的策略,我想知道,但是现在,这是我能找到的最好的。)为了做到这一点,请编辑位于extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613" 的属性列表文件。找到这两行:

/System/Library/LaunchDaemons/org.apache.httpd.plist

在他们之下,添加以下三行:

<key>ProgramArguments</key>
<array>

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

答案 1 :(得分:2)

看看这个PECL包:PDO_PGSQL

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

答案 2 :(得分:1)

我不确定这会对PDO驱动程序有什么帮助,但您可能会考虑BitNami's MAPPStack

我在Mac上使用Postgres,PHP和Apache遇到了很多麻烦,其中一些与部分或全部的64位版本和32位版本有关。到目前为止,BitNami MAPPStack安装一般都很好用。也许这对你的PDO问题也有帮助。

答案 3 :(得分:1)

通过brew和restart服务器安装新的php版本,并且php -v会删除所有问题。

答案 4 :(得分:0)

这对我有用

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。