Jak sdílet soubory mezi projekty? rubrika: Programování: PHP
Jak prosím řešíte situaci, kdy dva webové projekty mezi sebou sdílejí soubory, řekněme nějaké obrázky, a oba je chtějí mít možnost číst i měnit?
Zatím to mám tak, že každý projekt má svůj virtualhost a jeden projekt obsahuje symlink do adresáře v druhém projektu, kde jsou sdílená data.
Tohle řešení se mi však nelíbí, neboť si myslím, že by projekty o sobě měly mít minimum (ne-li žádné) informace a navíc je zaverzovaný symlink
problémem, když chci projekt nasadit jinde (testovací prostředí atp.). Používáte nějakou autodetekci nebo centrální konfiguraci?
První rada: Udělej si z nich sdílenou knihovnu a spravuj ji samostatně. Do projektů můžeš dát symlinky na celé adresáře.
Druhá rada: Ulož si tyto objekty do společné databáze.
Třetí rada: Klonuj, ať si mohou projekty žít každý projekt po svém.
Každá rada se hodí pro jiný workflow, tak si vyber.
Komentáře
- radek.dvorak : Ad 1: to znamená, že umístění sdíleného adresáře by určovala nasazená verze sdílení knihovny resp. zaverzovaný symlink v ní? Ad 2: Do db data raději nedávám, ale chápu. Ad 3: Data se musí sdílet (např. změna loga firmy z administrace do e-shopu) — 25.8.2015
- Kit : Ad 1: Ano, těchto knihoven by mohlo být i několik verzí - aplikace si připojí tu, kterou potřebuje. To by mělo být záležitostí configu, rozhodně bych to nedával přímo do kódu. Pak vlasně ani nejsou potřebné symlinky, stačí ten config... — 25.8.2015
- radek.dvorak : Symlink je potřeba pro nginx, aby mohl podávat statické soubory. Symlink bych mohl vygenerovat při deploymentu podle údaje z konfigurace. — 26.8.2015
Pro zobrazení všech 6 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře