2016-11-08 5 views
1

У меня есть производственный сервер с WHM/cPanel. Я разрабатываю свои сайты Wordpress локально на своем Mac с помощью MAMP. Я использую файл «hosts», чтобы указать мой URL-адрес на localhost, поэтому мне не нужно менять URL-адрес в моей локальной базе данных dev, что помогает в миграции туда и обратно.Изменить или переписать сообщенный корневой каталог

Вещь, которая по-прежнему отличается и часто вызывает проблемы, - это путь к серверу.

На производстве путь сервера:

/home/cvc1968/public_html 

Хотя на моей локальной MAMP установки (который я держу на Dropbox, так что я могу работать из дома или офиса) это:

/Dropbox/MAMP/htdocs/cvc1968/public_html 

Некоторые плагины используют путь к серверу и сохраняют его в базе данных, поэтому, когда я экспортирую/импортирую, я часто заканчиваю тем, что файл ошибок php не существует »и т. д.

Я выяснил, как вернуть '/ home' папка на Mac и попытались разместить символическую ссылку в папке cvc1968 и настроили VirtualHost DocumentRoot в файле httpd-vhosts.conf на '/ home/cvc1968/public_html /'. Сайт по-прежнему сообщает местоположение Dropbox в качестве каталога сервера (используя команду php getcwd()), независимо от того, включен ли параметр FollowSimLinks или нет.

Мой вопрос: есть ли способ, возможно, использовать файлы конфигурации apache в MAMP или любой другой метод, чтобы сохранить мои файлы там, где они есть, но сообщить локальному сайту, что его путь к каталогу совпадает с производственный путь?

+0

Почему бы просто не установить правильный 'DocumentRoot' в вашей конфигурации apache? –

+0

Я не понимаю. У меня есть «DocumentRoot», настроенный правильно в каждой конфигурации, как описано Ortomala ниже. У меня есть несколько плагинов, в которых хранятся пути к папкам (то есть iThemes Security хранит путь сервера как к своему каталогу резервного копирования, так и к каталогу журналов). Это означает, что когда я переношу базу данных из MAMP в Production или наоборот, мне нужно выполнить поиск/replace в файле SQL, чтобы изменить этот путь к серверу. Я надеюсь, что есть способ сохранить локальные файлы там, где я их хочу, но «обмануть» эти плагины, думая, что путь к серверу такой же, как у Production. – cvc

+0

Это зависит от каждой конфигурации плагина. Если вы используете только пути относительно пути DocumentRoot, это должно быть нормально. Пути, хранящиеся в журналах и резервном копировании, не должны быть проблемой, поскольку они не используются при обслуживании запросов. –

ответ

0

Решение должно использовать директиву DocumentRoot.

В производственной конфигурации сервера апача добавить:

DocumentRoot /home/cvc1968/public_html 

и в вашем Маке конфигурации Apache добавить:

DocumentRoot /Dropbox/MAMP/htdocs/cvc1968/public_html 

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

Смежные вопросы