Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Пожелание/совет] Универсальные конфиги для упрощённого переноса сайта на новый хост


Recommended Posts

Всем привет!

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

И с этим можно было смириться если бы не нужно было для каждого define вставлять одинаковый кусок строки (в двух файлах конфигов около 20 или 30 таких строк), а так как я очень ленивый и к тому же ещё и программист - меня просто БЕСИТ  :angry:  ненужное повторение одного и того же действия. 
По этому для себя я сделал сначала конфиг в котором вместо похожего куска пути я прописал константу в которой раньше указал путь к нужной директории, а немного позже - я допилил его воспользовавшись $_SERVER['DOCUMENT_ROOT'] в качестве пути к "хомяку" так что мне не нужно теперь менять почти ничего при переносе с одного хоста на другой, разве что html адрес сайта, ключи доступа к базе и её имя (кстати тоже в ДВУХ местах  :angry: )

 

В итоге хочу предложить всем желающим и так же РАЗРАБОТЧИКАМ движка видоизменить конфигурационные файлы в OPENCART и в других производных от неё CMS на УНИВЕРСАЛЬНЫЕ 
Надеюсь я буду услышан разработчиками CMS и поддержан сообществом :D

Универсальные конфиги для Opencart.  :eek:

Итак:

1) мой конфиг для паблика выглядит так

// HTTP
define('HTTP_SERVER', 'http://sitename/');
define('HTTP_IMAGE', HTTP_SERVER . 'image/');
define('HTTP_ADMIN', HTTP_SERVER . 'admin/');

// HTTPS
define('HTTPS_SERVER', 'http://sitename/');
define('HTTPS_IMAGE', HTTPS_SERVER . 'image/');

// DIR
define('DIR_HOME', $_SERVER['DOCUMENT_ROOT'] . '/');
define('DIR_APPLICATION', DIR_HOME . 'catalog/');
define('DIR_SYSTEM', DIR_HOME . 'system/');
define('DIR_DATABASE', DIR_HOME . 'system/database/');
define('DIR_LANGUAGE', DIR_HOME . 'catalog/language/');
define('DIR_TEMPLATE', DIR_HOME . 'catalog/view/theme/');
define('DIR_CONFIG', DIR_HOME . 'system/config/');
define('DIR_IMAGE', DIR_HOME . 'image/');
define('DIR_CACHE', DIR_HOME . 'system/cache/');
define('DIR_DOWNLOAD', DIR_HOME . 'download/');
define('DIR_LOGS', DIR_HOME . 'system/logs/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'db-username');
define('DB_PASSWORD', 'db-password');
define('DB_DATABASE', 'db-name');
define('DB_PREFIX', '');
?>

2) конфиг для админки сайта выглядит так
// HTTP
define('HTTP_CATALOG', 'http://sitename/');
define('HTTP_SERVER', HTTP_CATALOG . 'admin/');
define('HTTP_IMAGE', HTTP_CATALOG . 'image/');

// HTTPS
define('HTTPS_CATALOG', 'http://sitename/');
define('HTTPS_SERVER', HTTPS_CATALOG . 'admin/');
define('HTTPS_IMAGE', HTTPS_CATALOG . 'image/');

// DIR
define('DIR_HOME', $_SERVER['DOCUMENT_ROOT'] . '/');
define('DIR_APPLICATION', DIR_HOME . 'admin/');
define('DIR_SYSTEM', DIR_HOME . 'system/');
define('DIR_DATABASE', DIR_HOME . 'system/database/');
define('DIR_LANGUAGE', DIR_HOME . 'admin/language/');
define('DIR_TEMPLATE', DIR_HOME . 'admin/view/template/');
define('DIR_CONFIG', DIR_HOME . 'system/config/');
define('DIR_IMAGE', DIR_HOME . 'image/');
define('DIR_CACHE', DIR_HOME . 'system/cache/');
define('DIR_DOWNLOAD', DIR_HOME . 'download/');
define('DIR_LOGS', DIR_HOME . 'system/logs/');
define('DIR_CATALOG', DIR_HOME . 'catalog/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'db-username');
define('DB_PASSWORD', 'db-password');
define('DB_DATABASE', 'db-name');
define('DB_PREFIX', '');
?>

ВНИМАНИЕ!
Не забываем указывать свои параметры подключения к базе :-)

 

Надіслати
Поділитися на інших сайтах


Спасибо, отличная мысль!
только наверно лучше будет так:
define('HTTP_SERVER', $_SERVER['SERVER_PROTOCOL'] . $_SERVER['HTTP_HOST'] . '/');

define('HTTPS_SERVER', $_SERVER['SERVER_PROTOCOL'] . $_SERVER['HTTP_HOST'] . '/');

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.