2009-10-11 6 views
2

Récemment, je me suis de plus en plus intéressé au développement web et j'ai donc quelques questions à poser. J'ai quelques sites Web qui sont sur un serveur LAMP de production et j'ai essayé de les copier sur mon ordinateur local exécutant xampp 1.7.1 sur XP Pro. Le problème que j'ai eu est principalement des problèmes de chemin. Je développe principalement pour wordpress, joomla, magento, mediawiki. Quand je copie le site localement je finis par devoir changer des dossiers de config et/ou des champs de base de données pour refléter le chemin local. Le problème que j'ai toujours est que chaque fois que je télécharge des fichiers contenant des chemins locaux sur le serveur, je dois changer les chemins vers les chemins de production ou obtenir des erreurs 'objet non trouvé'. Se souvenir des chemins corrects pour chaque installation et des fichiers qui doivent avoir des mises à jour de chemin est une vraie douleur. Y a-t-il quelque chose qui me manque? Existe-t-il un moyen plus simple de s'assurer que les chemins sont corrects, que je sois en production ou en développement sans avoir à les modifier manuellement chaque fois que je télécharge ou télécharge le fichier ou la base de données?Copier des sites en direct au niveau local

Répondre

1

Idéalement, vous devriez avoir une ligne de code dans votre fichier de configuration principal qui est capable de déterminer sur quel serveur le code est exécuté. J'utilise quelque chose comme ce qui suit:

if(__FILE__ === '/home/peter/web_projects/my-project/config.php') { 
    // set up configuration for development environment 
    define('DEV', true); 
    [etc] 
} 
else { 
    // code is running on the live server 
    define('DEV', false); 
    [etc] 
} 

Cela me permet d'avoir la même config.php sur ma machine de développement ainsi que de vivre, et tout autre fichier peut simplement vérifier savoir si elles sont locales ou vivent la constante DEV.

1

Oui, ce qui vous manque, c'est un système de déploiement automatisé. Pour Linux, il y a capistrano, et d'autres, que vous pouvez regarder (note: j'en ai écrit un pour Windows, mais ce n'est pas utile pour vous).

Questions connexes