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
2
A
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
- 1. Accès direct au modem sous Windows Mobile
- 2. Empêcher l'accès direct au service Web JSON
- 3. Suivi au niveau du code dans VB.NET
- 4. Editeurs UML en direct
- 5. vidéos streaming en direct
- 6. Accès direct au framebuffer linux - copyarea
- 7. Sécurité au niveau du message WCF
- 8. Client minimal prenant en charge la sécurité au niveau des messages sur l'interface de canal
- 9. Exécution sécurisée de LogParser par rapport au journal IIS de production en direct?
- 10. PHP: format de numéro au format local
- 11. Obtenir des entrées des périphériques MIDI en direct (Python)
- 12. Accès swf local au site Web distant
- 13. (Courant) NHibernate - Inhertiance au niveau de l'objet, mais pas au niveau de la table
- 14. Evénements clés au niveau de l'application en Java
- 15. Logging recherche en direct misses
- 16. Application Web Accès au système de fichiers local
- 17. Des sites Web ouverts?
- 18. Problème de mise à niveau des rails
- 19. Comment copier des liens symboliques en Perl?
- 20. Utilisation du déploiement = true au niveau du site
- 21. Où puis-je trouver des mises à jour, des taux de change en direct?
- 22. Le propriétaire du site ne peut pas déplacer ou copier des pages entre deux sous-sites?
- 23. Restreindre l'accès au serveur à partir du réseau local uniquement
- 24. Faire en direct Clock javascript
- 25. Copier des champs dans Oracle
- 26. Sourcecode Partage/contrôle au niveau fonctionnel?
- 27. Comment copier un fichier du système local vers un autre système en C# (application Windows)?
- 28. Technologies de réplication au niveau application
- 29. Obtenir des données en direct de l'iPhone sur le Mac
- 30. drop index au niveau de la partition