CodeIgniter - хорошая платформа для всего, что есть в ней (как и большинство фреймворков), но ему не нравится быть «включенным» извне.Зачем вам нужно включать его в другую CMS?Вы можете использовать CMS в CodeIgniter (это основная цель CodeIgniter) или электронную коммерцию в sitezen.
Если это из-за окружающих стилей, лучшее, что мне приходит в голову, - это кодировать их.также в CodeIgniter.Это не очень хорошо, потому что вы должны поддерживать стили дважды, но это один из самых чистых способов достижения того, чего вы хотите.
Предупреждения есть по причине: отключение их не предотвращает результат.
Что с вами происходит, вы пытаетесь начать сеанс, который уже был начат.Чтобы избежать этого, вы должны дать второму сеансу имя, отличное от первого.(При вызове, предшествующем session_start()
, вы захотите позвонить session_name()
.
Плохая новость состоит в том, что после начала сеанса предыдущие данные из сеанса больше не доступны, поэтому, еслиCMS хранит вещи в сеансе в __destruct()
, массив $_SESSION
, в котором хранятся новые данные, не будет тем же $_SESSION()
, который использовался в начале начальной загрузки CMS.
И если вы неНе начинайте второй сеанс, вы будете смешивать переменные CodeIgniter и sitezen внутри одного массива (остерегайтесь коллизий имен).
Код, подобный этому, НЕ будет работать (поэтому, вложенные сеансы / восстановление сеансовНасколько я знаю, это невозможно):
<?php
function show() {
echo "We are on [{$_SESSION['name']}] <br />\n";
}
session_name('SUPERSESSION'); session_start();
$_SESSION['name'] = "Super";
session_name('SESSION_ONE'); session_start();
$_SESSION['name'] = "ONE";
show(); # We are on [ONE]
session_destroy();
session_name('SESSION_TWO'); session_start();
$_SESSION['name'] = "TWO";
show(); # We are on [TWO]
session_destroy();
session_name('SESSION_ONE'); session_start();
show(); # We are on [empty] <- resume sessions does not work
session_destroy();
show(); # We are on [empty] <- nested sessions dont work
session_destroy();
Чтобы избежать заголовков, уже отправивших предупреждение, начните свой код с ob_start () в вашем index.php и ob_end_flush () в конце