開源代碼的快速部署,關鍵不在於「把檔案丟上主機」而已,而是先把執行環境對齊。以這類 PHP+MySQL 的愛情小窩網站來說,只要主機支援 PHP 7.4 以上版本、MySQL 5.7 以上資料庫,通常不需要 Node.js 打包或複雜的前端建置流程;對小型 VPS、虛擬主機,甚至 Docker 環境都相當友善。這也是原生 PHP 專案仍有魅力的原因:部署鏈路短,出錯位置比較好找。
從原始碼到可存取網站的部署流程
先將 GitHub 或下載包中的開源代碼放入網站目錄,再建立一組獨立的 MySQL 資料庫與帳號。資料庫帳號不建議直接使用 root,並且只授予該資料庫需要的權限;這個小細節,往往比追求一鍵部署更重要。
接著依專案提供的設定檔填入資料庫主機、資料庫名稱、帳號與密碼,並匯入隨附的 SQL 結構檔。若網站首次開啟出現資料表不存在、500 錯誤,十之八九是 SQL 尚未匯入,或 PHP 的 PDO MySQL 擴充功能沒有啟用。這類問題看似麻煩,其實排查很直接。
- 確認 PHP 版本為 7.4 或 8.x,並啟用
pdo_mysql、mbstring、gd等常用擴充 - 將圖片、快取或上傳目錄設定為 Web 服務可寫入
- 在 PHP 設定中適度提高
upload_max_filesize與post_max_size - 完成後立即修改預設管理員密碼,並啟用 HTTPS
圖片與 AI 功能要額外留意
相冊功能雖然會自動壓縮圖片,但上傳 20MB 的原始照片,仍可能撞上主機限制;實務上把單張限制控制在 5~10MB,使用體驗會穩定不少。AI 自動回覆則屬於可選功能,部署完成後再到後台填入相容 OpenAI 格式的大模型 API 金鑰即可,不必讓 API 金鑰寫死在公開前端檔案中。
若是兩人長期使用,我會建議部署完成就做一次資料庫備份測試。小站資料量通常不大,但照片、足跡與留言一旦累積幾年,價值可比程式碼本身高得多。開源專案真正的快速部署,不只是快速上線,而是日後更新、備份與搬家都不會手忙腳亂。

評論(9)
原來 PHP 專案部署這麼簡單,不用一堆 Node.js 打包流程,對新手很友善。
資料庫權限設成 root 確實是常見地雷,這點提醒得很重要。
想問一下,如果主機不支援 PDO MySQL 擴充,通常要怎麼開啟?
圖片上傳限制設在 5MB 確實比較穩,20MB 真的容易卡在伺服器設定。
AI 金鑰不能寫死在前端,這安全意识必須給讚,不然容易被盜用。
剛好在找愛情小窩這類開源程式,看到這篇部署細節就放心多了。
備份測試這個建議太實用了,資料累積幾年後真的比程式碼還貴重。
500 錯誤通常是 SQL 沒匯入嗎?之前一直以為是代碼問題,白忙一場。
Docker 環境也支援這種原生 PHP 專案嗎?感覺會更方便管理版本。