1 Отредактировано omen (25-02-2012 10:44:39)

Тема: PHP Environment: staging

1. Предлагаю Вам сделать Staging демопроектов чтоб пользователи с интернета могли тестировать.

2. Придумать хорошие стратегии развертывание движка (PHP Environment : Development Staging Production).

3. Ветку «Работа с ImageCMS Shop» изменить «Работа с модулем ImageCMS Shop» или объединить с веткой выше на форуме.

4. Расширить документацию.

Thumbs up Thumbs down

2

Re: PHP Environment: staging

Staging разве не оно?
http://www.imagecms.net/vozmozhnosti
http://www.imagecms.net/image_cms_shop

Thumbs up Thumbs down

3

Re: PHP Environment: staging

нет, по теории это как бе магазин (production)!

Это production1

как Вы миграцию, например, сделаете если, много пользователей там зоходит, и не факт что заведется!

Ночью сидеть что ли!

Thumbs up Thumbs down

4 Отредактировано omen (25-02-2012 13:34:07)

Re: PHP Environment: staging

Отдельные конфиги как по документации CI
application/config/{ENVIRONMENT}/{FILENAME}.php

В движке по умолчанию "development" в фронт конторлере. Для  юнит-тестов также есть секция там.

Thumbs up Thumbs down

5 Отредактировано omen (29-10-2012 15:37:02)

Re: PHP Environment: staging

Нашел причину почему не выходит сделать отдельные конфиги как по документации CI.



В атозагрузке CI приложения стоит библиотека

application\config\autoload.php

...$autoload['libraries'] = array('lib_init', 'lib_category', 'lib_csrf');...

\application\libraries\lib_init.php

...else
        {
            // Load DB
            $CI->load->database();

            // Load hooks lib
            $CI->load->library('cms_hooks');
        }...

$CI->load->database(); подключает и выполняет функцию DB с файла \system\database\DB.php

Начиная с 31 строки код:

...
        $file_path = APPPATH.'config/config'.EXT;
       
        if ( ! file_exists($file_path))
        {
            continue;
        }
...

Это видимо было сделано для того чтоб соединить конфиги /application/config/config.php /application/config/dababase.php в 1 файл.

В родном CI, ветки 2.0.1, начиная с 31 строки код другой

       

...$file_path = APPPATH.'config/'.ENVIRONMENT.'/database'.EXT;
       
        if ( ! file_exists($file_path))
        {
            log_message('debug', 'Database config for '.ENVIRONMENT.' environment is not found. Trying global config.');
            $file_path = APPPATH.'config/database'.EXT;
           
            if ( ! file_exists($file_path))
            {
                continue;
            }
        }
       
        include($file_path);...

Как видим в $file_path присваивается путь относительно ENVIRONMENT, если его нет, то подключается и выполняется глобальный конфиг.

Решение
\system\database\DB.php

...$file_path = APPPATH.'config/'.ENVIRONMENT.'/config'.EXT;

        if ( ! file_exists($file_path))
        {
            log_message('debug', 'Database config for '.ENVIRONMENT.' environment is not found. Trying global config.');
            $file_path = APPPATH.'config/config'.EXT;

            if ( ! file_exists($file_path))
            {
                    continue;
            }
        }...

ps файлы CI лучше не править чтоб не было проблем.

Thumbs up Thumbs down