LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 985|回复: 1

在debian下为PHP5.0.3安装pdo模块

[复制链接]
发表于 2005-7-31 19:51:53 | 显示全部楼层 |阅读模式
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否则会失败!!!
[php]#>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[/php]
哈,还是不知道版本好,到http://pecl.php.net/搜搜,目前版本0.9
OK[php]
#》pear install pdo-0.9[/php]
pear会帮你安装好的
编译好的模块放在了:/usr/lib/php5/20041030/ 目录下
[php]#>cd /usr/lib/php5/20041030/[/php]
注意:debian系统的php外部模块需要两个文件才能被起动,一个是我们刚编译的pdo.so
另外还需要一个pdo.info文件
不会写就炒下面的:
[php]
package="pdo"
extname="DO"
dsoname="pdo"
sapilist="apache apache2 cgi cli fcgi"
depends=""
priority="500"
architecture="any"[/php]
然后运行:
[php]
#》 /usr/sbin/php5-modconf apache2[/php]
系统会提示你需要哪些模块,选中pdo确定
pdo就安装成功了
下面安装pdo_pgsql-0.9
这个需要按下面步骤进行:
[php]
#》pear download pdo_pgsql-0.9
#> tar zxf PDO_PGSQL-0.9.tgz
#>cd PDO_PGSQL-0.9
#>phpize
#>./configure
#>make
#>make install[/php]
然后重复上面安装pdo的过程:修改pdo_pgsql.info
[php]
package="pdo_pgsql"
extname="DO_PGSQL"
dsoname="pdo_pgsql"
sapilist="apache apache2 cgi cli fcgi"
depends=""
priority="500"
architecture="any"[/php]
运行
[php]
#》 /usr/sbin/php5-modconf apache2[/php]
选择pdo_pgsql模块
ok 一切就绪
[php]#》apache2 -k restart[/php]
编辑测试模块test.php:
[php]
// Connect to an 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";
}

?>
[/php]


好了,在你的浏览器上输入http://localhost/pdotest.php
你是否看到你数据库中的数据了
祝贺你!!!
===============================================
以上文章引自我的blog.
发表于 2005-8-2 10:49:55 | 显示全部楼层
补充:pdo还是beta阶段,先运行
pear config-set preferred_state beta
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表