[英]How to handle user editable templates in a cloud stateless hosting environment?
幾年以來,我一直在為客戶使用基於Symfony組件的自制PHP CMS / ERP。 使用此框架的每個站點都托管在“經典” Linux托管上,我使用git部署更新。 每個站點都有一個文件夾,用於存儲html / css模板,圖像和可下載文件,站點管理員可以訪問該文件夾以自定義其站點。 此文件夾是git忽略的,因此通過git進行的我的框架更新不會覆蓋網站管理員的更改。
我正在考慮將這些網站移至基於雲的可擴展環境(如Heroku)中。 據我了解,每次我將git push到Heroku或創建的每個新dyno時,都會忽略此git文件夾。 我如何處理而不在git repo中包含此自定義文件夾?
我已經考慮過將HTML / CSS模板存儲在數據庫中,並在每次git部署或創建新實例后將它們每次更新時都復制到驅動器中。 但這不能解決圖像或可下載文件的問題。
Heroku 建議不要將用戶上傳的文件存儲在本地,而應將它們放在外部服務(如Amazon S3)上 。
您可能要為此使用現有的庫,例如KnpGaufretteBundle
:
在您的Symfony項目中輕松使用Gaufrette。
Gaufrette本身就是 “提供文件系統抽象層的PHP5庫”。 Amazon S3是其受支持的后端之一 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.