Перейти к содержанию

Рекомендуемые сообщения

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

<?php																																									
// HTTP
/* @var $_SERVER type */
$Current_Site=filter_input(INPUT_SERVER,'DOCUMENT_ROOT');
if(stristr($Current_Site,'Рабочий сайт') === TRUE) {


define('HTTP_SERVER', 'http://Рабочий сайт/');
define('HTTP_IMAGE', 'http://Рабочий сайт/image/');
define('HTTP_ADMIN', 'http://Рабочий сайт/admin/');
//......................................................
//......................................................    
define('DB_PREFIX', '1_');
}
 elseif  (stristr($Current_Site,'Тестовый_сайт') === TRUE) {


define('HTTP_SERVER', 'http://Тестовый_сайт/');
define('HTTP_IMAGE', 'http://Тестовый_сайт/image/');
define('HTTP_ADMIN', 'http://Тестовый_сайт/admin/');
//......................................................
//......................................................    
define('DB_PREFIX', '1_');    
}
 elseif  (stristr($Current_Site,'Локальный_сайт') === TRUE) {


define('HTTP_SERVER', 'http://Локальный_сайт/');
define('HTTP_IMAGE', 'http://Локальный_сайт/image/');
define('HTTP_ADMIN', 'http://Локальный_сайт/admin/');
//......................................................
//......................................................    
define('DB_PREFIX', '1_');    
}
// и т.д.
?>
Изменено пользователем mamont

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался, правильно : - elseif (stristr($Current_Site,'Тестовый_сайт') == TRUE) {

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где же там универсальность, если при переносе на хостинг нужно всё равно прописывать пути до директорий? Например, на одном хостинге было что-то типа /home/f/fsadfsadf/sitefolder, а на другом хостере уже /home/c/cdfsdfs/sitefolder

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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', 'http://'.$host.'/');
define('HTTPS_IMAGE', 'http://'.$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', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'mysql_user');
define('DB_PASSWORD', 'mysql_password');
define('DB_DATABASE', 'mysql_db');
define('DB_PREFIX', 'oc_');
?>

admin/config.php

<?php
// HTTP
$host = $_SERVER['HTTP_HOST'];
define('HTTP_SERVER', 'http://'.$host.'/admin/');
define('HTTP_CATALOG', 'http://'.$host.'/');
define('HTTP_IMAGE', 'http://'.$host.'/image/');

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

// DIR
$dir = dirname(dirname(__FILE__));
define('DIR_APPLICATION', $dir . '/admin/');
define('DIR_SYSTEM', $dir . '/system/');
define('DIR_DATABASE', $dir . '/system/database/');
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/cache/');
define('DIR_DOWNLOAD', $dir . '/download/');
define('DIR_LOGS', $dir . '/system/logs/');
define('DIR_CATALOG', $dir . '/catalog/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'mysql_user');
define('DB_PASSWORD', 'mysql_password');
define('DB_DATABASE', 'mysql_db');
define('DB_PREFIX', 'oc_');
?>
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От aachernishev
      Добрый день!
      После перехода на https изображения не открываются, кто поможет за $ ?
      Пример (Чтобы воспроизвести нажмите на фото).
       
      Спасибо!
      Мой скайп a.a.chern
    • От Niagara
      Здравствуйте.Проблема с установкой opencart 2.1.0.1 на локальный хостинг.Если набирать 127.0.0.1/opencart/index.php, то выдаёт страницу без стилей, а в админке вообще пусто. Всё началось с пустых файлов config, которые по идее должны каким-то образом заполняться автоматически при загрузке, но почему-то не загрузились, а без них опенкарт не желал устанавливаться на локальный хостинг, и потому я прописала пути универсального конфига, код взяла отсюда https://***/news/universalnyi-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', 'http://'.$host.'/'); define('HTTPS_IMAGE', 'http://'.$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/'); после этого опенкарт меня поздравил с успешным завершением установки и напомнил удалить или переименовать файл install.Я предпочла его переименовать.Вопрос, файл конфиг действительно откуда-то загружает данные или надо это делать вручную? Если второй вариант, то где посмотреть пример синтаксиса с заполнением? Чтобы был пример не $host, а пример заполнения адреса?
    • От costea93
      переносил магазин на хостинг с денвера, всё сделал, но почему то запускается дефолтная тема а не то что я сделал, в конфигах всё менял, в базе в oc_settings тоже, не знаю в чём может быть проблема
      http://prntscr.com/7dbf3y
    • От cryptoPayIN
      $this->load->model('setting/setting'); // зачем дублируется имя модуля в сеттингах? // зачем yandex_money_ic_sort_order - если можно sort_order $this->model_setting_setting->editSetting('yandex_money_ic', array( 'yandex_money_ic_sort_order'=>1, 'yandex_money_ic_setting' => array ( 'wallet' => FALSE, 'secret' => FALSE, 'commission' => 0.5, 'commission_pay' => 1, 'telephone' => FALSE, 'geo_zone_id' => FALSE, 'order_status_id' => 2, // 'Proccessing', 'for_deposit' => 1, 'default_deposit' => 500, ) )); } коли в editSetting('yandex_money_ic', ... )
      уже задано имя области настроек то зачем еще в каждой настройке задавать имя?
      почему нельзя сделать так:
      $this->model_setting_setting->editSetting('yandex_money_ic', array( 'sort_order'=>1, 'setting' => array ( 'wallet' => FALSE, 'secret' => FALSE, 'commission' => 0.5, 'commission_pay' => 1, 'telephone' => FALSE, 'geo_zone_id' => FALSE, 'order_status_id' => 2, // 'Proccessing', 'for_deposit' => 1, 'default_deposit' => 500, ) ));
    • От Dolfik
      В файле catalog/controller/module/cart.php есть такая строка
      if ($product['image']) { $image = $this->model_tool_image->resize($product['image'], $this->config->get('config_image_cart_width'), $this->config->get('config_image_cart_height')); } else { $image = ''; } Откуда берутся значения config_image_cart, и как их поменять?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.