在debian下为PHP5.0.3安装pdo模块
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 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
你是否看到你数据库中的数据了
祝贺你!!!