Вопрос

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

Это было полезно?

Решение

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

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 постоянно знать, местные они или живые.

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top