4.3 Настройка конфигурационного файла для CMS OpenCart
Универсальный конфиг для интернет-магазина OpenCart 3.x
Перенос интернет-магазина на новый хостинг в OpenCart часто включает в себя необходимость внесения изменений в конфигурационные файлы, такие как config.php
и admin/config.php
. Эти файлы требуют обновления адресов хостов, путей к директориям и параметров базы данных.
Пример: стандартного содержимого файла 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
<?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
<?php
$host = $_SERVER['HTTP_HOST'];
// HTTP
define('HTTP_SERVER', 'http://'.$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
<?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_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
<?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
<?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
<?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
<?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