Distribuce aplikace založené na Nette jako PHAR

DefenestrationPraha
Člen | 120
+
0
-

Mám poměrně rozsáhlou aplikaci s několika moduly, založenou na Nette. Momentálně ji při vytváření nové verze zkrátka zazipuji a na cílovém stroji při deploymentu zase pomocí skriptů pročistím cílový adresář a rozbalím ZIP.

Nicméně láká mě jiná verze, a to že by se aspoň ze dvou adresářů, které obsahují největší počet zdrojových souborů (app/ a base/) vytvořil komprimovaný soubor PHAR, který by se dal i digitálně podepsat. V php.ini by se pak dala zakázat modifikace PHARu. Dokonalé to není (nic není…), ale výrazně by se snížila pravděpodobnost, že do té aplikace budou admini v cílové lokaci příliš zasahovat.

Není mi ale jasné, zda to vůbec jde, zda pak lze třeba z těch PHARů načítat latte soubory atd. Zkoušel někdo někdy za-PHARovat aplikaci založenou na Nette?

A které věci musejí nezbytně zůstat mimo PHAR? Napadá mě třeba adresář config, nebo aspoň nějaká jeho část, kvůli nastavování databáze atd. A neumím si moc představit Bootstrap, který by míchal konfigurační soubory zevnitř pharu a mimo něj.

Má někdo zde nějaké zkušenosti s PHAR-ováním aplikace založené na Nette? Navíc v rámci vývoje samotného (debuggingu) by asi bylo žádoucí ten PHAR nepoužívat, aby člověk mohl rychle měnit kód. Tj. příslušná aplikace by v ideálním případě měla fungovat zcela stejně hladce, ať je za-PHAR-ovaná nebo ne.

Editoval DefenestrationPraha (29. 8. 14:47)

Marek Bartoš
Nette Blogger | 1260
+
+1
-

Standardně se na synchronizaci souborů používá kupříkladu rsync. Jen to porovná soubory a nahraje změny. Je to rychlé a na pár řádků.
Phar je hodně pracné řešení a to i pro ty, co v nich vydávají vlastní nástroje.

DefenestrationPraha
Člen | 120
+
0
-

Marek Bartoš napsal(a):

Standardně se na synchronizaci souborů používá kupříkladu rsync. Jen to porovná soubory a nahraje změny. Je to rychlé a na pár řádků.
Phar je hodně pracné řešení a to i pro ty, co v nich vydávají vlastní nástroje.

Vím, co je rsync, ale v minulém příspěvku jsem popsal svoji hlavní motivaci. Snaha snížit pravděpodobnost, že se nějaký cizí admin pohrabe v aplikaci, pomocí digitálního podpisu. To PHAR umí.

Proto jsem se ptal, zda má někdo s Nette aplikací distribuovanou jako PHAR zkušenosti a jaké…

Editoval DefenestrationPraha (29. 8. 16:29)