[主機空間新手攻略34]破解主機空間的沒有MySQL的問題,何謂SQLite如何用以代替MySQL,以Wordpress 為例。
延伸之前〝網站更換虛擬主機要搬家,要搬遷的東西有哪些呢?有哪些注意事項要留意呢?(詳情點我)〞的主題,許多人因在不熟悉網頁程式的情況,常會購買到沒有含有資料庫的主機空間,在搬遷動作停滯的當下,最常被問題就是:我的網站這麼小這麼簡單,一定要用到資料庫嗎?沒有程式不用到資料庫的嗎?而重新梳理一下問題,該問法有個解理誤區,詢問者想問應該是:網頁程式有使用資料庫,但是否一定要用到SQL Server。
答案是肯定的,但這個取決於網頁程式的寫法(如何串連),下面便來介紹SQLite並使用SQLite安裝WordPress來說明能否使用。
事前科普-網頁程式與主機空間裡資料庫的關係
放置網頁程式於虛擬主機空間裡,常見使用的即為:Web Server 與SQL Server(虛擬主機主要有哪些服務,請點我),以Wordpress為例(如何在cPanel安裝Wordpress教學,請點我):Web Server是用於放置網頁程式資料夾、檔案、圖片…等,而SQL Server則是放置存放資料庫的地方,而放置的資料便於使用者可以於後台(何謂後台,請點我)修改、新增、刪除、查詢…等使用。因此Web Server 與SQL Server互相串連便可以呈現看到的網站了。
承上分享的安裝Wordpress的教學裡,資料庫的部分只要於SQL server新增好資料庫名稱、資料庫使用者與資料庫密碼後,其他均在後續安裝作業裡完成,也由於資料庫(SQL Server)與網頁程式放置不同的地方且呈現的方式也不同;因此一般人(非程式設計人員)對於網頁是否有使用資料庫常會是陌生的,因此才會有文章一開始的說明狀況(沒有選購到有SQL Server服務的主機空)產生。
何謂SQLite,主機空間有支援嗎?
有別於上述資料庫放SQL Serve裡,以通俗的方式來說明,即是SQLite是指將資料庫以檔案的方式存放,資料都會被寫入該檔案裡,有關SQLite的詳細說明,請點我。既是檔案的方式存在,則SQLite檔案會與網頁程式均同放在Web Server,故此網頁程式所使用的主機空間便不需要SQL Server了。
SQLite以名稱來看,裡面Lite說明了此是一個比較〝輕量級〞的使用,與SQL Server的關係有點像是Microsoft裡Excel 與Access面對海量數據與處理複雜度的狀況,EXCEL有他的靈活度與便利性,而當數據大(複雜)到一個程度時,使用者會開始改以ACCESS的方式來處理資料。同樣狀況,SQLite僅適用小型網站的使用,因SQLite是以檔案的方式來呈現,故大部分主機都是有支援的。
網頁程式使用SQLite的常見問題
SQLite的相關問題可深可淺,這裡的分享內容對象仍以〝非程式設計師人員〞為主,常見虛擬主機使用SQLite時會遇到的問題,建議綜合評估使用。
①主機空間的選用與搬遷:由於SQLite是資料庫是以〝檔案〞的方式存在,因此選用的主機空間不需要有SQL Server的服務;且在搬遷時,因此只要選用的主機空間可以支援網頁程式的語法,網站就會可以運作。
②SQLite資料庫存放問題與查找:由於SQLite是資料庫是以〝檔案〞的方式存在;一般非程式設計師為了保護檔案形式的資料庫,有時會將檔案藏的深,因此常在查找檔案位置有時需要費一翻功夫;當然同樣的動況,網頁程式若是串連SQL Server的檔案,其串連的檔案有時也不易找到,故此特別說明在於提醒若您非網頁程式人員,建議在交付網頁程式資料時,對於裡面彼此的串連狀況需要留意與紀錄。
③SQLite資料庫安全問題:主機空間上的SQL Server因只存放資料庫,故一般主機空間商會將SQL Server設定禁止外連,只允許主機空間上的網頁程式連結使用;而SQLite是資料庫是以〝檔案〞的方式存在,其形式就等同於檔案,因此程式設計師需要特別時時留意該檔案的權限、位置狀況,以免被下載下來。
④SQLite效能的理解誤區:由於SQLite是資料庫是以〝檔案〞的方式存在,因此與網頁程式在同在Web Server裡,故在相互呼叫使用上會比較有效率。然而資料庫小不等於網站小,有一部分與資料庫的邏輯仍有關係,因此在使用常不若想象中的快或是順暢。
在cPanel 下以SQLite安裝Wordpress
※該次選用之前〝[微開箱2022]ServerZoo主機動物園-Linux cPanel 虛擬主機網站速度測試(台灣/美國主機)-詳情請點我〞的主機空間來測試使用(何謂cPanel請點我)
①至cPanel→select php version→選擇php7.4,並確認extension〝pdo_sqlite 〞有勾選。
②於Wordpress官方下載目前(2022.07.14最新)Wordpress6.0.1版本(註一),下載連結請點我,並將程式解壓縮放到public_html資料夾下。
③於Wordpress官方下載SQLite的安裝外掛-sqlite-integration(註二),下載連結請點我(點選tag會看到所有sqlite-integration的版本,請下載1.8.1版),並將程式解壓縮放到public_html/wp-content/plugins資料夾下。
④承③請將壓縮縮的:sqlite-integration資料夾,將裡面的db.php再上傳至:public_html/wp-content/資料夾裡放置。
⑤將public_html下的wp-config-sample.php檔案更名為wp-config.php.,就可以開始進行安裝囉。
⑥上述均上傳後,即可以開始Wordpress作業,選擇繁體中文後按繼續。
⑦由於上述②&③的動作,跳過原應為資料庫設定的環節,直接到設定安裝網站所需資訊的畫面,輸入完所有資料後,按安裝Wordpress。
⑩回到cPanel,使用SQLite安裝Wordpress,資料夾存放的位置為:public_html/wp-content/database/.ht.sqlitet檔案裡(檔案裡亦有.htaccess禁止外部存取該資料夾的檔案,以保護資料)。
※註一:由於sqlite-integration僅能支援到PHP7,故小編估計只要最新的Wordpress能支援在PHP7運作, sqlite-integration都是可以搭配最新的Wordpress運作(該次的測試即是如此。
※註二:sqlite-integration於Wodpress官方仍可以看到說明,連結請點我。官網上提醒該外掛因已沒有更新需要慎用,而點選該網頁的〝Development〞裡,下面的Browse the code仍有提供外掛下載(即為上方提供的連結畫面)。
SQLite的相關經驗分享
SQLite的設計上因將資料庫寫入檔案裡,因為常會遇到寫入資料、資料變更(如密碼)會有問題需要排除,經使用者的回饋,故若是網頁程式的新手小白不論在安裝上、問題排解上可能都會有延伸的尋找如何查修及排解問題的時間成本,因此在考慮使用者SQLite時,會建議加強檔案資料的備份及相關安裝/設定的紀錄,可以加快掌握程式的狀況與排解。
結論
該次介紹的SQLite也可以作為另一種資料庫的選擇,而在實務上確實針對非常簡單的網站且不太需要經常更改非常適合與合用,且也可以選用最便宜(無SQL Server服務)空間,然而如同上述所說,網站的大與小,與程式邏輯寫法有著更密切的關係,然而每個用法的產生都是有一好沒兩好,畢竟若不熟悉網頁程式,所有的變動都是大工程且需額外預算,故選用時仍是需要對其有一定的了解綜合性評估,才不會顧此失彼。
文章來源: https://wpoki.com
GIPHY App Key not set. Please check settings