PHP

在Heroku中的PHP網站使用SQLite的方法

當我們把PHP網站部署到免費的Heroku雲端平台上時,第一個面臨的問題就是如何去找到一個適合的資料庫。大部份的MySQL資料庫都是要收費的,就算是Heroku上有一個ClearDB提供免費的MySQL方案,但仍然要過信用卡號碼,讓人不太放心。其實,如果網站很小只是要做個測試的話,也許同學們可以考慮使用檔案型的資料庫SQLite。

假設,我們有一個SQLite資料庫檔案叫做mysqlite.db,那麼底下即為在PHP程式碼中連接並取出該資料庫中news資料表所有內容的方法:

<?php
   $pdo = new PDO('sqlite:mysqlite.db');
   $sql = $pdo->prepare("select * from news");
   $sql->execute();
   $data = $sql->fetchAll();
   print_r($data);
?>

沒錯,就是這麼簡單就可以了。但是,如果你想要把這個檔案放在Heroku雲端平台上也可以執行的話,那麼還需要一些步驟,首先是你的網站根目錄下必需要有一個叫做composer.json的檔案,它的內容如下:

{
  "require": {
    "ext-pdo_sqlite": "*"
  }
}

然後要在自己的命令提示字元下,執行過以下的指令:

composer install

上述的指令會在網站的根目錄中產生一個vendor的資料夾以及composer.lock這個重要的檔案,之後,我們要在.gitignore中把vendor這個資料夾進行排除,然後,就可以把這個網站上傳到Heroku雲端節點,順利地把mysqlite.db當作是網站的資料庫使用了。

至於如何管理SQLite的資料庫內容呢?請使用以下這個網站上的應用程式DB Browser for SQLite:

https://sqlitebrowser.org/

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s