在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你是否看到你數據庫中的數據了祝賀你!!!
