Domanda

corro più siti web tutto in esecuzione fuori di una singola installazione di CodeIgniter sul mio server (directory di applicazioni separate e una directory di sistema singolo). Questo ha lavorato favolosamente e non vedo alcun motivo per cambiare a questo punto.

mi ritrovo a scrivere classi della libreria per estendere / esclusione CI tutto il tempo e molte volte se trovo un bug o migliorare l'efficienza di devo tornare a diversi siti web per rendere le stesse regolazioni a rischio di un errore di battitura che rompe uno dei siti web. A causa di questo si richiede che cambio ogni file e quindi verificare che il sito per i bug.

Ho riflettuto una soluzione di utilizzare una singola directory librerie in una posizione centrale e un collegamento simbolico tutti i miei siti web per quella directory centrale. Poi, quando faccio una modifica di file verrà immediatamente propagarsi a tutti i siti a valle. Sarà ancora necessario che provo ciascuno per gli errori, ma non dovrà apportare le modifiche più volte. Tutto ciò che è specifico per un unico sito web o sarà un file non condiviso (ancora nella directory legato semplicemente non utilizzato altrove) o può essere messo in un aiutante locale.

Inoltre, continuo a directory separate 'sistema' dalla versione CI in modo da poter migrare i miei siti web in modo indipendente, se necessario - questo file biblioteche centrali sarebbe collegato a una versione specifica per ridurre i possibili rotture

.

Chiunque vede potenziali problemi o trabocchetti da questo approccio? Qualcuno ha compiuto questo in un'altra direzione che devo considerare?

Grazie in anticipo!

È stato utile?

Soluzione

Credo che questo rende di fatto senso:] Go for it. Anche sulla pagina ufficiale CodeIgniter, accennano è possibile.

Inoltre, non vedo una ragione per cui ci dovrebbe essere alcun problema.

Modifica: toccano il problema di più siti qui: http://codeigniter.com/ user_guide / generali / managing_apps.html

anche:

http://codeigniter.com/wiki/Multiple_Applications/
http://www.exclusivetutorials.com / impostazione-multiple-siti-in-codeigniter-installazione /
Come gestire progetti multipli in CodeIgniter?
http://codeigniter.com/forums/viewthread/56436/

Altri suggerimenti

Ho una singola directory di sistema e le directory di applicazioni separate per le mie applicazioni CI. Al fine di condividere le librerie e alcuni modelli di vista tra le mie applicazioni, ho creato una directory "Comune", nella stessa cartella del sistema di CI e con la stessa struttura come una cartella applicazione regolare e collegamenti simbolici utilizzati, ma è possibile modificare il Loader classe in modo che appaia nella cartella Common troppo. La mia configurazione simile a questa:

/var/CodeIgniter/
/var/Common/
/var/Common/config/
/var/Common/controllers/
...
/var/Common/libraries/
...
/var/www/someapp/
/var/www/someotherapp/
...

Non sono sicuro di come gestire pubblicare i tuoi siti (ammesso che effettivamente fare nulla di tutto ciò), ma mi piacerebbe guardare in controllo di versione. Per esempio, in SVN è possibile effettuare esterno in un'altra directory svn (o file) e poi basta aggiornare la directory svn corrente che afferra il file esterno. Questo approccio guadagna un beneficio dagli altri, che è quando si modifica la libreria comune, gli altri non sono immediatamente colpiti. Questo previene le interruzioni indesiderate prima di avere il tempo di andare di prova tutti i siti utilizzando la libreria comune. È quindi possibile solo aggiornare la cartella di ciascun sito ogni volta che si è pronti per testare le modifiche. Questo è "più lavoro", ma impedisce la duplicazione del codice e le interruzioni indesiderate.

ho scritto una MY_Loader di fare esattamente questo.

http://ellislab.com/forums/viewthread/136321/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top