2008-09-15 112 views

回答

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文件被安裝在目錄。例如,我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將是啓動和運行。

1

我不確定這會專門幫助PDO驅動程序,但您可以查看BitNami's MAPPStack

我的Mac上有很多Postgres,PHP和Apache的問題,有些問題與64位或32位版本的部分或全部問題有關。到目前爲止,BitNami MAPPStack安裝一般運行良好。也許它會幫助你解決PDO問題。

2

看看這個PECL包:PDO_PGSQL

我還沒有嘗試過自己,但我一直感興趣的在Postgres發揮作爲替代到MySQL。如果我有機會盡快嘗試,我會把結果放在這裏以防萬一。

0

這對我來說

brew install php55-pdo-pgsql 

這將安裝PHP 32年5月5日和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。

1

通過brew和重新啓動服務器安裝新的php版本,並且php -v將刪除所有問題。

相關問題