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的开发工具包以及gcc\g++,当然也需要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 line 443
notice: undefined index: license 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 447
package details:
================
latest
installed - no -
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
你是否看到你数据库中的数据了
祝贺你!!!