首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

ThinkPHP 連接 SQLite3 完整配置指南:PDO 驅動與代碼生成器整合

     編輯:PHP 綜合知識

前置需求

  1. ThinkPHP 目錄下存在 Lib/Driver/Db/DbPdo.class.php(無則至官網下載)
  2. PHP 啟用 extension=php_pdo_sqlite.dll(PHP 5.3+ 內建)
  3. SQLite3 資料庫檔案(如 DataBase/db.db)可寫入權限

config.php 完整配置

return [
    'DB_TYPE'   => 'pdo',
    'DB_DSN'    => 'sqlite:DataBase/db.db',  // 相對專案根目錄
    'DB_PREFIX' => 'fish_',                  // 表前綴
    'DB_CHARSET'=> 'utf8',
    'DB_FIELDS_CACHE' => false,              // SQLite 無需欄位快取
];

DSN 參數說明

參數範例說明
sqlite:sqlite:DataBase/db.db相對路徑,建議放在非公開目錄
sqlite:sqlite:/var/www/data/app.db絕對路徑
sqlite::memory:sqlite::memory:記憶體資料庫(測試用)

驗證連線

// 控制器中測試
$db = M(); // 實例化 Model
try {
    $db->query('SELECT 1');
    echo 'SQLite3 連線成功';
} catch (\Exception $e) {
    echo '連線失敗: ' . $e->getMessage();
}

整合 ThinkphpHelper 代碼生成器

同上篇文章,將生成器放入 Action 目錄,配置同上 DSN 即可對 SQLite3 資料表一鍵生成 CRUD。

常見問題排查

錯誤原因解決
could not find driver未啟用 pdo_sqlitephp.ini 啟用 extension=pdo_sqlite
unable to open database file路徑錯誤/權限不足確認 db.db 存在且 www-data 可寫
table not found前綴不匹配檢查 DB_PREFIX 與實際表名

工具箱

相關專題

  • 《ThinkPHP 入門教程》
  • 《ThinkPHP 常用方法總結》
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved