web-dev-qa-db-fra.com

Partage de l'installation de CodeIgniter entre différents serveurs

Situation actuelle: j'ai 2 serveurs différents, chacun hébergeant sa propre installation de CI, et tout fonctionne correctement, sauf que beaucoup de code est dupliqué (bibliothèques personnalisées, certaines vues, etc.)

Mon objectif: tout conserver sur l’un des 2 serveurs et laisser l’autre accéder à ces fichiers, ou mieux, conserver toute l’installation sur un troisième serveur que je suis en train d’exécuter et que je sers pour servir un fichier non analysé PHP (la plupart du temps pour les commandes include), j’ai essayé de remplacer la variable système $ par l’URL complète du troisième serveur ( http://server.com/ci/system ), mais cela n’a pas fonctionné comme prévu et renvoie une erreur

Y a-t-il un moyen de faire ça? Utiliser le même/système entre les installations serait bien, pouvoir partager la plupart du dossier/application également (bibliothèques, certaines vues) serait encore mieux

1
Mdk

Avoir un serveur servant des fichiers non analysés PHP est un gros trou de sécurité. Cela signifie que n'importe qui d'autre pourrait lire le code. Que se passe-t-il si vous avez des fichiers avec un mot de passe?

L'autre problème est la rapidité: charger autant de fichiers (des dizaines, voire des centaines) à partir d'un serveur complètement différent serait très lent.

Si vous hébergiez plusieurs sites sur le même serveur, il serait très facile de transformer le répertoire système en lien symbolique vers un emplacement commun.

Pour les sites sur différents serveurs, la meilleure méthode consiste à utiliser le contrôle de version. Vous pouvez créer votre propre dépôt git avec les fichiers partagés, puis le télécharger sur chaque serveur. Si vous mettez à jour CI ou apportez d'autres modifications, vous les validez, puis extrayez-les de nouveau sur chaque serveur.

Si vous utilisez déjà git pour les sites eux-mêmes, vous pouvez configurer ce référentiel en tant que sous-module dans le référentiel de votre site.

1
DisgruntledGoat