1. 程式人生 > >php中成功開啟pgsql擴充套件(windows下)

php中成功開啟pgsql擴充套件(windows下)

方法一
PostgreSQL在PHP上的安裝……
都說PostgreSQL比MySQL要爽不少,那咱就試試唄。用了很多年的MySQL,本以為PostgreSQL也是差不多的東西,安裝和使用的過程中才發現,事情不是想象的那麼簡單。

安裝好後PostgreSQL後,在PHP.INI的擴充套件模組中將php_pgsql.dll開啟後,執行phpinfo(),發現pgsql的影子怎麼都出不來。折騰了很久,仍然未果。在網上搜索半天才,通過檢視php_pgsql.dll檔案的二進位制內容,發現其需要一個名為libpq.dll的PostgreSQL庫。這個libpq.dll在哪裡呢,找破了頭才在PostgreSQL安裝目錄的bin資料夾中發現。那麼,把它複製到Windows系統目錄下,執行phpinfo()瞅瞅……

FK,還是沒有出來。然後開始檢視libpq.dll的二進位制內容,發現它呼叫了大量的bin資料夾中的DLL庫……原來如斯,那麼一不做二不休,將PostgreSQL的bin目錄加到Windows系統的環境變數PATH裡
去(與mysql的區別)。多次重啟apache

然後,這個世界清靜了,我的PostgreSQL靜靜地躺在phpinfo()裡鳥。

據說安裝PostgreSQL的時候會自動將bin目錄加到系統的PATH中?也許是我安裝的問題,有些傢伙說他們直接安裝PG和PHP,一路下來沒有任何問題,那確實是咱太衰鳥……

方法二
首先,開啟這個擴充套件就費了不少事,然後php讀取含中文的欄位,得到的是亂碼。感覺不太好用。

如何開啟pgsql擴充套件?

1)去掉php.ini中;extension=php_pgsql.dll之前的分號;
2)拷貝php根目錄下的 libpq.dll 到system32下;
3)將postgresql的bin目錄下的如下檔案拷貝到system32( windows\system32 目錄下)下:

comerr32.dll
gssapi32.dll
k5sprt32.dll
krb5_32.dll
libeay32.dll
libiconv2.dll
libintl3.dll
libpq.dll
ssleay32.dll
注意:我就是因為少了這一步,導致pgsql擴充套件始終打不開,後來看了CSDN論壇中某網友的提示才搞定。
原文地址:http://topic.csdn.net/u/20100303/16/9b655120-533d-4296-a93c-460e7eff17db.html
4)重啟apache。