PHP5, Sqlite 及 Windows

Turn up the Crank 有一位作者分享他使用 PHP5、Sqlite、Windows 的經驗。作者需要一個數據庫儲存資料,由於涉及的資料處理工作很簡單,所以他選擇了 Sqlite,結果他發現:

  1. SQLite 3 無法與 PHP 相容:他不斷遇到一個錯誤訊息「PHP Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database」,網上有關 Sqlite 3 與 PHP 共用的文件十分缺乏,最後他終於發現 PHP 尚未支援 SQLite 3,對於 SQLite 3 已經推出了超過兩年仍未得到 PHP 的支援,作者感到大惑不解。

  2. PHP 與 SQLite 2 並不合作暢順:作者在放棄 SQLite 3 後轉而嘗試 SQLite 2,但發現 PHP 無法讀取他使用命令行建立的 SQLite 資料庫,在網絡上經過一番搜索後,他發現這個問題根本沒有解決方案。

  3. SQLite 對於目錄權限的要求極度愚蠢:SQLite 要求資料庫的路徑中每一個目錄它都具備讀/寫權限,例如資料庫儲存在 D:\websites\site_1234\db.sqlite,執行 PHP 的帳號須具備 D:\websites\ 及 D:\websites\site_1234\ 的讀/寫權限,若過伺服器上同時運行多個網站,這肯定是一個極大的安全漏洞。

作者最後感嘆說:「在 PHP 中使用 SQLite 真是極度痛苦,早知如此我便使用 PostgreSql,這可能有點大材小用,但至少不會浪費我那麼多時間。」

 


發表新回應

  • Images can be added to this post.

更多關於格式化選項的資訊

Captcha
以下問題用來確認閣下是一個真人,防止機器人濫發垃圾文章。