在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 pdopear 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 447Package details:================LatestInstalled - no -PackageLicenseCategorySummaryDescription哈,还是不知道版本好,到http://pecl.php.net/搜搜,目前版本0.9OK#》pear install pdo-0.9pear会帮你安装好的编译好的模块放在了:/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.infopackage='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你是否看到你数据库中的数据了祝贺你!!!