2013-05-22 82 views
2

我想用SQLite3Agile Toolkit。我發現它在documentation了SQLite的驅動程序包含atk4,但我無法找到如何連接到SQLite DB.如何使用Agile Toolkit 4連接到SQLite數據庫?

任何的例子我試圖改變從MySqlatk4示例應用程序的數據庫連接到使用的SQLite在Pear:DB DSN documentation發現格式:

$config['dsn']='sqlite:////var/www/webdev/atk4_example.db'; 

,但我不斷收到找不到驅動程序PDO的錯誤:

Application Error: Database Connection Failed 
BaseException, code: 0 
Additional information: 
    * PDO error: could not find driver 
    * DSN: :host=;dbname=;charset=utf8 

/var/www/webdev/atk4/lib/DB.php:94 

SQLite PDO驅動程序似乎在服務器上正確安裝。 phpinfo()和一個PHP/PDO/SQLite3示例頁面都證實了它的工作原理。

我正在學習敏捷工具包,PHP和一般的Web開發,所以我可能會錯過一些微不足道的東西。

回答

1

你可以在你的config.php中嘗試下面的語法嗎?

$config['dsn']='sqlite://username:[email protected]/dbname'; 

另外請檢查您的php.ini是否啓用了MySQL(是的,MySQL不是SQLite)擴展。如果不是,則嘗試啓用它並再次測試。如果SQLite與啓用的MySQL擴展一起工作,那麼我想我已經在DB.php中發現了一個小錯誤,並且可以解決這個問題。

而且看起來,你可以在下面的格式作爲數組傳遞DSN參數,也許那就更好了:

$config['dsn'] = array(
    'sqlite:host=hostname;dbname=dbname;charset=utf8', 
    'username', 
    'password' 
); 

請嘗試上述2個解決方案,讓我知道,如果他們的工作。 我現在無法測試,因爲我不在我的開發計算機上。

+1

我無法獲得字符串格式的工作,但數組格式適用於:''sqlite:/ absolute/path/to/sqlite.db'。 – richk