Предупреждение: session_start (): попытка уничтожить неинициализированную ошибку сеанса в PHP 5.4 с японскими символами

У меня есть стандартная установка oscommerce, и когда переменная сеанса содержит многобайтовый символ, такой как японский, это создает ошибку «Предупреждение: session_start (): Попытка уничтожить неинициализированный сеанс». Трассировка стека не проливает много света на причину проблемы, за исключением того, что она вызывается в файле класса сеанса для следующего оператора:

...
return session_start();

Ошибка вызвана такой переменной:

$shipping['method'] = {Japanese character string}

tep_start_session('shipping');

…и затем ошибка возникает при каждой последующей загрузке страницы.

Любые идеи с благодарностью!

0

Решение

Это оказалось вызвано сложной причиной в oscommerce. Я заметил ту же ошибку на других международных веб-сайтах и ​​поэтому решил опубликовать ответ, так как в других местах обсуждается очень мало информации.

Многие переменные хранятся в сеансах, которые могут храниться в базе данных MySQL.

Поэтому очень важно, чтобы вы изменили параметры сортировки таблицы «сеанс» в базе данных MySQL на utf8_general_ci, чтобы обеспечить правильное хранение и извлечение многобайтовых символов в сеансах, сохраненных в базе данных.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]