4.3 Налаштування конфігураційного файлу для CMS OpenCart

Головний Банер

Універсальний конфіг для інтернет-магазину OpenCart 3.x

Перенесення інтернет-магазину на новий хостинг в OpenCart часто передбачає внесення змін у конфігураційні файли, такі як config.php та admin/config.php. Ці файли вимагають оновлення адрес хостів, шляхів до каталогів та параметрів бази даних.

Приклад: стандартного вмісту файлу config.php
/var/www/user_name/data/www/site_name/config.php
<?php
// HTTP
define('HTTP_SERVER', 'http://Site_Name/');

// HTTPS
define('HTTPS_SERVER', 'https://Site_Name/');

// DIR
define('DIR_APPLICATION', '/var/www/user_name/data/www/site_name/catalog/');
define('DIR_SYSTEM', '/var/www/user_name/data/www/site_name/system/');
define('DIR_IMAGE', '/var/www/user_name/data/www/site_name/image/');
define('DIR_STORAGE', '/var/www/user_name/data/www/site_name/storage/');
define('DIR_LANGUAGE', '/var/www/user_name/data/www/site_name/catalog/language/');
define('DIR_TEMPLATE', '/var/www/user_name/data/www/site_name/catalog/view/theme/');
define('DIR_CONFIG', '/var/www/user_name/data/www/site_name/system/config/');
define('DIR_CACHE', '/var/www/user_name/data/www/site_name/storage/cache/');
define('DIR_DOWNLOAD', '/var/www/user_name/data/www/site_name/storage/download/');
define('DIR_LOGS', '/var/www/user_name/data/www/site_name/storage/logs/');
define('DIR_MODIFICATION', '/var/www/user_name/data/www/site_name/storage/modification/');
define('DIR_SESSION', '/var/www/user_name/data/www/site_name/storage/session/');
define('DIR_UPLOAD', '/var/www/user_name/data/www/site_name/storage/upload/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
<?php
Приклад: стандартного вмісту файлу admin/config.php
/var/www/user_name/data/www/site_name/admin/config.php
<?php
// HTTP
define('HTTP_SERVER', 'http://Site_Name/admin/');
define('HTTP_CATALOG', 'http://Site_Name/');

// HTTPS
define('HTTPS_SERVER', 'https://Site_Name/admin/');
define('HTTPS_CATALOG', 'https://Site_Name/');

// DIR
define('DIR_APPLICATION', '/var/www/user_name/data/www/site_name/admin/');
define('DIR_SYSTEM', '/var/www/user_name/data/www/site_name/system/');
define('DIR_IMAGE', '/var/www/user_name/data/www/site_name/image/');
define('DIR_STORAGE', '/var/www/user_name/data/www/site_name/storage/');
define('DIR_LANGUAGE', '/var/www/user_name/data/www/site_name/admin/language/');
define('DIR_TEMPLATE', '/var/www/user_name/data/www/site_name/admin/view/template/');
define('DIR_CONFIG', '/var/www/user_name/data/www/site_name/system/config/');
define('DIR_CACHE', '/var/www/user_name/data/www/site_name/storage/cache/');
define('DIR_DOWNLOAD', '/var/www/user_name/data/www/site_name/storage/download/');
define('DIR_LOGS', '/var/www/user_name/data/www/site_name/storage/logs/');
define('DIR_MODIFICATION', '/var/www/user_name/data/www/site_name/storage/modification/');
define('DIR_SESSION', '/var/www/user_name/data/www/site_name/storage/session/');
define('DIR_UPLOAD', '/var/www/user_name/data/www/site_name/storage/upload/');
define('DIR_CATALOG', '/var/www/user_name/data/www/site_name/catalog/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');

Існує метод, який дозволяє мінімізувати кількість дій при перенесенні сайту на новий хостинг. Давайте розглянемо стандартний вміст файлу config.php та можливі способи його покращення.

Приклад: універсального файлу конфігурації config.php
/var/www/user_name/data/www/site_name/config.php
<?php
$host = $_SERVER['HTTP_HOST'];

// HTTP
define('HTTP_SERVER', 'https://'.$host.'/');

// HTTPS
define('HTTPS_SERVER', 'https://'.$host.'/');
$dir = dirname(__FILE__);

// DIR
define('DIR_APPLICATION', $dir.'/catalog/');
define('DIR_SYSTEM', $dir.'/system/');
define('DIR_IMAGE', $dir.'/image/');
define('DIR_STORAGE', DIR_SYSTEM . 'storage/');
define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
define('DIR_TEMPLATE', DIR_APPLICATION . 'view/theme/');
define('DIR_CONFIG', DIR_SYSTEM . 'config/');
define('DIR_CACHE', DIR_STORAGE . 'cache/');
define('DIR_DOWNLOAD', DIR_STORAGE . 'download/');
define('DIR_LOGS', DIR_STORAGE . 'logs/');
define('DIR_MODIFICATION', DIR_STORAGE . 'modification/');
define('DIR_SESSION', DIR_STORAGE . 'session/');
define('DIR_UPLOAD', DIR_STORAGE . 'upload/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
<?php

Тут і в наступних прикладах user_name - це ім’я Вашого користувача хостингу, а site_name - Ваше доменне ім’я

Приклад: універсального файлу конфігурації admin/config.php
/var/www/user_name/data/www/site_name/admin/config.php
<?php
$host = $_SERVER['HTTP_HOST'];

// HTTP
define('HTTP_SERVER', 'https://'.$host.'/admin/');
define('HTTP_CATALOG', 'https://'.$host.'/');

// HTTPS
define('HTTPS_SERVER', 'https://'.$host.'/admin/');
define('HTTPS_CATALOG', 'https://'.$host.'/');
$dir = dirname(dirname(__FILE__));

// DIR
define('DIR_APPLICATION', $dir.'/admin/');
define('DIR_SYSTEM', $dir.'/system/');
define('DIR_IMAGE', $dir.'/image/');
define('DIR_STORAGE', DIR_SYSTEM . 'storage/');
define('DIR_CATALOG', $dir.'/catalog/');
define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
define('DIR_TEMPLATE', DIR_APPLICATION . 'view/template/');
define('DIR_CONFIG', DIR_SYSTEM . 'config/');
define('DIR_CACHE', DIR_STORAGE . 'cache/');
define('DIR_DOWNLOAD', DIR_STORAGE . 'download/');
define('DIR_LOGS', DIR_STORAGE . 'logs/');
define('DIR_MODIFICATION', DIR_STORAGE . 'modification/');
define('DIR_SESSION', DIR_STORAGE . 'session/');
define('DIR_UPLOAD', DIR_STORAGE . 'upload/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
<?php

Примітка: в спрощеному підході використано метод __DIR__, який автоматично визначає шлях до поточної теки. Це робить код більш гнучким і зменшує необхідність вручну оновлювати шляхи, при переміщенні на інший хостинг.

Налаштування конфігу для OpenCart 2.x

Якщо у Вас встановлено OpenCart 2.x і Ви плануєте перемістити свій інтернет-магазин на новий хостинг, ймовірно, знадобиться внести зміни до конфігураційних файлів, таких як config.php та admin/config.php. Ці файли вимагають оновлення адрес хостів, шляхів до каталогів і параметрів бази даних. Однак існує метод, який дозволяє спростити цей процес.

Приклад: універсального файлу конфігурації config.php
/var/www/user_name/data/www/site_name/config.php
<?php
$host = $_SERVER['HTTP_HOST'];

// HTTP
define('HTTP_SERVER', 'http://'.$host.'/admin/');
define('HTTP_CATALOG', 'http://'.$host.'/');

// HTTPS
define('HTTPS_SERVER', 'https://'.$host.'/admin/');
define('HTTPS_CATALOG', 'https://'.$host.'/');
$dir = dirname(dirname(__FILE__));

// DIR
define('DIR_APPLICATION', $dir.'/admin/');
define('DIR_SYSTEM', $dir.'/system/');
define('DIR_LANGUAGE', $dir.'/admin/language/');
define('DIR_TEMPLATE', $dir.'/admin/view/template/');
define('DIR_CONFIG', $dir.'/system/config/');
define('DIR_IMAGE', $dir.'/image/');
define('DIR_CACHE', $dir.'/system/storage/cache/');
define('DIR_DOWNLOAD', $dir.'/system/storage/download/');
define('DIR_LOGS', $dir.'/system/storage/logs/');
define('DIR_MODIFICATION', $dir.'/system/storage/modification/');
define('DIR_UPLOAD', $dir.'/system/storage/upload/');
define('DIR_CATALOG', $dir.'/catalog/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
<?php

Приклад: універсального файлу конфігурації admin/config.php

[label /var/www/user_name/data/www/site_name/admin/config.php]

<?php
$host = $_SERVER['HTTP_HOST'];

// HTTP
define('HTTP_SERVER', 'http://'.$host.'/admin/');
define('HTTP_CATALOG', 'http://'.$host.'/');

// HTTPS
define('HTTPS_SERVER', 'https://'.$host.'/admin/');
define('HTTPS_CATALOG', 'https://'.$host.'/');
$dir = dirname(dirname(__FILE__));

// DIR
define('DIR_APPLICATION', $dir.'/admin/');
define('DIR_SYSTEM', $dir.'/system/');
define('DIR_LANGUAGE', $dir.'/admin/language/');
define('DIR_TEMPLATE', $dir.'/admin/view/template/');
define('DIR_CONFIG', $dir.'/system/config/');
define('DIR_IMAGE', $dir.'/image/');
define('DIR_CACHE', $dir.'/system/storage/cache/');
define('DIR_DOWNLOAD', $dir.'/system/storage/download/');
define('DIR_LOGS', $dir.'/system/storage/logs/');
define('DIR_MODIFICATION', $dir.'/system/storage/modification/');
define('DIR_UPLOAD', $dir.'/system/storage/upload/');
define('DIR_CATALOG', $dir.'/catalog/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
<?php

Файл конфігурації для OpenCart 1.5.х

Якщо у Вас встановлена старіша версія OpenCart 1.5.x, і Ви плануєте перемістити свій інтернет-магазин на новий хостинг, ймовірно, знадобиться внести зміни до конфігураційних файлів, таких як config.php та admin/config.php. Ці файли вимагають оновлення адрес хостів, шляхів до каталогів і параметрів бази даних.

Приклад: універсального файлу конфігурації config.php
/var/www/user_name/data/www/site_name/config.php
<?php
// HTTP
$host = $_SERVER['HTTP_HOST'];
define('HTTP_SERVER', 'http://'.$host.'/');
define('HTTP_IMAGE', 'http://'.$host.'/image/');
define('HTTP_ADMIN', 'http://'.$host.'/admin/');

// HTTPS
define('HTTPS_SERVER', 'https://'.$host.'/');
define('HTTPS_IMAGE', 'https://'.$host.'/image/');

// DIR
$dir = dirname(__FILE__);
define('DIR_APPLICATION', $dir . '/catalog/');
define('DIR_SYSTEM', $dir . '/system/');
define('DIR_DATABASE', $dir . '/system/database/');
define('DIR_LANGUAGE', $dir . '/catalog/language/');
define('DIR_TEMPLATE', $dir . '/catalog/view/theme/');
define('DIR_CONFIG', $dir . '/system/config/');
define('DIR_IMAGE', $dir . '/image/');
define('DIR_CACHE', $dir . '/system/cache/');
define('DIR_DOWNLOAD', $dir . '/download/');
define('DIR_LOGS', $dir . '/system/logs/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
<?php
Приклад: універсального файлу конфігурації admin/config.php
/var/www/user_name/data/www/site_name/admin/config.php
<?php
// HTTP
$host = $_SERVER['HTTP_HOST'];
define('HTTP_SERVER', 'http://'.$host.'/');
define('HTTP_IMAGE', 'http://'.$host.'/image/');
define('HTTP_ADMIN', 'http://'.$host.'/admin/');

// HTTPS
define('HTTPS_SERVER', 'https://'.$host.'/');
define('HTTPS_IMAGE', 'https://'.$host.'/image/');

// DIR
$dir = dirname(__FILE__);
define('DIR_APPLICATION', $dir . '/catalog/');
define('DIR_SYSTEM', $dir . '/system/');
define('DIR_DATABASE', $dir . '/system/database/');
define('DIR_LANGUAGE', $dir . '/catalog/language/');
define('DIR_TEMPLATE', $dir . '/catalog/view/theme/');
define('DIR_CONFIG', $dir . '/system/config/');
define('DIR_IMAGE', $dir . '/image/');
define('DIR_CACHE', $dir . '/system/cache/');
define('DIR_DOWNLOAD', $dir . '/download/');
define('DIR_LOGS', $dir . '/system/logs/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
<?php