Копирование живых сайтов на локальные - PullRequest
2 голосов
/ 12 октября 2009

В последнее время я все больше и больше увлекаюсь веб-разработкой и поэтому у меня есть несколько вопросов. У меня есть несколько веб-сайтов, которые находятся на рабочем сервере LAMP, и я пытаюсь скопировать их на свой локальный компьютер под управлением xampp 1.7.1 в XP Pro. Проблема, с которой я столкнулся, это в основном проблемы с путями. Я в основном развиваю для WordPress, Joomla, Magento, MediaWiki. Когда я копирую сайт локально, мне приходится менять конфигурационные файлы и / или поля базы данных, чтобы они отражали локальный путь. Проблема, с которой я всегда сталкиваюсь, заключается в том, что каждый раз, когда я загружаю файлы, содержащие локальные пути, обратно на сервер, мне приходится менять пути обратно на рабочие пути, или я получаю ошибки «объект не найден». Запоминание правильных путей для каждой установки и файлов, которые должны иметь обновления пути, - это настоящая боль. Я что-то упускаю? Есть ли более простой способ убедиться, что пути правильные, независимо от того, нахожусь ли я в процессе разработки или разработки, без необходимости вручную изменять их при каждой загрузке или загрузке файла или базы данных?

Ответы [ 2 ]

1 голос
/ 12 октября 2009

В идеале у вас должна быть строка кода в вашем основном конфигурационном файле, которая может определить, на каком сервере работает код. Я использую что-то вроде следующего:

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]
}

Это позволяет мне иметь одинаковые config.php на моей машине для разработки и в режиме реального времени, а любые другие файлы могут просто проверить константу DEV, чтобы узнать, локальные они или живые.

1 голос
/ 12 октября 2009

Да, вам не хватает автоматизированной системы развертывания. Для linux есть capistrano и другие, на которые вы можете посмотреть (примечание: я написал один для Windows, но он вам не нужен).

...