2012-01-31 2 views
1

У меня есть сайт Kohana 3.0.14, который я хочу разместить на нескольких доменах, связав виртуальный хост каждый (разные ips).установить сайт kohana на нескольких серверах

Разница между моими сайтами - это файл конфигурации и файл boostrap (где я устанавливаю язык, который будет использоваться).

Все объекты находятся в производстве.

Как я могу «разбить» веб-сайт, как я могу включить файлы, чтобы у меня был весь сайт kohana в одном месте, а также config и boostrap на каждом сервере, так что, когда я исправляю ошибку фиксироваться на каждом сайте (каждый домен)?

спасибо большое!

ответ

1

Вы можете сделать это, установив переменную окружения в верхней части файла index.php. Затем, в зависимости от этой переменной, вы будете устанавливать переменные конфигурации, языки и т. Д. Обычно я обрабатываю промежуточную/живую/локальную среду, и это позволяет сохранить код полностью идентичным между различными установками.

Например, в index.php:

define("ENV", "staging") 

Тогда в bootstrap.php:

$baseUrl = "http://defaultdomain.com/"; 
if (ENV == "staging") $baseUrl = "http://staging.somedomain.com/"; 

Kohana::init(array(
    'base_url' => $baseUrl, 
)); 

В database.php:

if (ENV == "live") { 
    $hostname = ... 
    $database = ... 
    $username = ... 
    $password = ... 
} else if (ENV == "staging") { 
    $hostname = ... 
    $database = ... 
    $username = ... 
    $password = ... 
} 

return array 
(
    'default' => array 
    (
     'type'  => 'mysql', 
     'connection' => array(
      'hostname' => $hostname, 
      'database' => $database, 
      'username' => $username, 
      'password' => $password, 
      'persistent' => FALSE, 
     ), 
     'table_prefix' => '', 
     'charset'  => 'utf8', 
     'caching'  => FALSE, 
     'profiling' => TRUE, 
    ) 
+0

благодаря Лоран, я попробую так и вернусь. :) – dana

0

Если ваши варианты хостинга ограничены, лучше всего выбрать первый основной домен и создать учетную запись, используя это. Затем добавьте больше доменов сверху. Затем просто получите URL-адрес, чтобы определить, какой язык и т. Д. Вы хотите использовать.