У меня есть стандартная установка oscommerce, и когда переменная сеанса содержит многобайтовый символ, такой как японский, это создает ошибку «Предупреждение: session_start (): Попытка уничтожить неинициализированный сеанс». Трассировка стека не проливает много света на причину проблемы, за исключением того, что она вызывается в файле класса сеанса для следующего оператора:
...
return session_start();
Ошибка вызвана такой переменной:
$shipping['method'] = {Japanese character string}
tep_start_session('shipping');
…и затем ошибка возникает при каждой последующей загрузке страницы.
Любые идеи с благодарностью!
Это оказалось вызвано сложной причиной в oscommerce. Я заметил ту же ошибку на других международных веб-сайтах и поэтому решил опубликовать ответ, так как в других местах обсуждается очень мало информации.
Многие переменные хранятся в сеансах, которые могут храниться в базе данных MySQL.
Поэтому очень важно, чтобы вы изменили параметры сортировки таблицы «сеанс» в базе данных MySQL на utf8_general_ci, чтобы обеспечить правильное хранение и извлечение многобайтовых символов в сеансах, сохраненных в базе данных.
Других решений пока нет …