pdo作為下一個php的資料庫統一接口,目前的版本是0.9,看來不久就可以release了,搶先嚐鮮。
經過測試,pdo聯結比adodb快3倍左右,和直接聯結相差很小。
測試工具:AB
測試條件Apache/2.0.54 (Debian GNU/Linux) mod_fastcgi/2.4.2 PHP/5.0.4-0.10 mod_perl/2.0.1 Perl/v5.8.7 Server at 127.0.0.1 Port 80
資料庫:postgres8.0.3
硬體:C4-1.7g;384M
安裝pdo需要php的開發工具包以及gccg++,當然也需要php的php5-dev
安裝PDO_pgsql需要libpg-dev以上軟體一定要apt-get否則會失敗! ! !
#>pear remote-info pdo
pear remote-info pdo
Notice: Undefined index: name in Remote.php on line 132
Notice: Undefined index: version in Remote.php on line 133
Notice: Undefined index: name in CLI.php on Notline 43
Notice: Undefined index: name in CLI.. in CLI.php on line 444
Notice: Undefined index: category in CLI.php on line 445
Notice: Undefined index: summary in CLI.php on line 446
Notice: Undefined index: description in CLI.php on line 446 Notice: Undefined index: description in CLI.php on line 47
Package details:
==================
Latest
Installed - 不 -
Package
License
Category
Summary
Description
哈,還是不知道版本好,到http://pecl.php.net/搜搜,目前版本0.9
OK
#》pear install pdo-0.9
pear會幫你安裝好的編譯好的模組放在了:/usr/lib/php5/20041030/ 目錄下
#>cd /usr/lib/php5/20041030/
注意:debian系統的php外部模組需要兩個檔案才能啟動,一個是我們剛編譯的pdo.so
另外還需要一個pdo.info檔案不會寫就炒下面的:
package="pdo"
extname="PDO"
dsoname="pdo"
sapilist="apache apache2 cgi cli fcgi"
depends=""
priority="500"
architecture="any"
然後運行:
#》 /usr/sbin/php5-modconf apache2
系統會提示你需要哪些模組,選取pdo確定
pdo就安裝成功了下面安裝pdo_pgsql-0.9
這個需要照下面步驟進行:
#》pear download pdo_pgsql-0.9
#> tar zxf PDO_PGSQL-0.9.tgz
#>cd PDO_PGSQL-0.9
#>phpize
#>./configure
#>make
#>make install
然後重複上面安裝pdo的過程:修改pdo_pgsql.info
package="pdo_pgsql"
extname="PDO_PGSQL"
dsoname="pdo_pgsql"
sapilist="apache apache2 cgi cli fcgi"
depends=""
priority="500"
architecture="any"
運行
#》 /usr/sbin/php5-modconf apache2
選擇pdo_pgsql模組
ok 一切就緒
#》apache2 -k restart
編輯測試模組:
// Connect to an ODBC database using driver invocation
$host='xxxx.xxxx.com';
$port='5433';
$dbname='test';
$user='xxxxxx';
$password='xxxxxxxx';
//$cc = "host=$host,dbname=$dbname,port=$port";
$dsn = "pgsql:host=$host port=$port dbname=$dbname user=$user password=$password";
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sql='select * from cpjcsj';
foreach ($dbh->query($sql) as $row) {
print $row['cpdm']."t";
print $row['cpdh'] . "t";
print $row['cpmc'] . "n";
}
?>
好了,在你的瀏覽器上輸入http://localhost/pdotest.php
你是否看到你資料庫中的資料了祝賀你! ! !