close
php 4 & 5 內建支援 sqlite 2.x, 想讓 php 支援 sqlite3 就需要裝其他 php extension, 有好幾種方式, 例如: php-sqlite3PDO_SQLITE, 剛開始很直覺就開始裝 php-sqlite3, 後來發現得用 pear-DB, 既不喜歡 PEAR:DB style, 又嫌裝東裝西麻煩, 最可怕的是 php-sqlite3 官方首頁明白寫著 "Please note that this project is still alpha-quality. Please test and report if it works for you and how it can be enhanced.", ChangeLog 還一年沒動了...最終還是改用 PDO_SQLITE 稍微安心一點, FreeBSD 安裝 PDO 的方法很簡單, 以下列出兩種安裝方式:

指令無敵安裝法
# cd /usr/ports/databases/php5-pdo_sqlite/
# make all install

堅持要用 php5-extensions 選單的安裝法
# rm /var/db/ports/php5-extensions/options
# cd /usr/ports/lang/php5-extensions/
以下記得勾選 PDO 跟 PDO_SQLITE, 現在 ports 的設定應該這兩樣都是 default
# make all install

裝完之後, apache 等相關 daemon restart 一下, 簡單寫個程式測試看看, 會動就搞定了.
<?
  $db_file = "/XXX/YYY/ZZZ.db";  // Sqlite 檔案寫在這邊, 需用絕對路徑
  $dsn = "sqlite:".$db_file;

  try {
    echo $dsn."\n";
    $dbh = new PDO($dsn);
    $res = $dbh->query("SELECT * FROM user ORDER BY uid LIMIT 0,1;");  // SQL指令寫這邊
    $row = $res->fetch(PDO::FETCH_ASSOC);
    print_r($row);
  } catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
  }
?>
arrow
arrow
    全站熱搜

    ericpi 發表在 痞客邦 留言(1) 人氣()