2015-10-10 25 views
5

Ostatnio zacząłem używać cakephp3.1 i otrzymuję błąd, który poniżej.session_start() nie jest sukcesem, gdy używa się wielu bajtów w sesji w cakephp3

ostrzegawcze (2) session_start(): Próby niszczenia sesji niezainicjowanego [rdzeń/src/Sieć/Session.php linia 324]

ostrzegawcze (2) session_start() [function.session -start]: Nie można zdekodować obiektu sesji. Sesja została zniszczona [CORE/src/Network/Session.php, wiersz 324]

Ostrzeżenie (2): session_start() [function.session-start]: Nie można wysłać ogranicznika pamięci podręcznej sesji - nagłówki już wysłane (wyjście rozpoczęte w /home/www/service/vendor/cakephp/cakephp/src/Error/Debugger.php:742) [CORE/src/network/Session.php, linia 324]

Kiedy ustawić wielu bajtów słowo do sesji, takich jak nazwa użytkownika logowania jest japoński lub coś wielobajtowe słowo ustawione na flash, to się stało.

Więc założyłem, że nie zainstalowałem rozszerzenia mbstring. Jednak jest już zainstalowany.

+0

'Nie można wysłać ogranicznika pamięci podręcznej sesji - już wysłane nagłówki (wyjście rozpoczęte w /home/www/service/vendor/cakephp/cakephp/src/Error/Debugger.php:742)' - co to jest wyjście - to błąd wiadomość, którą musisz przeczytać i naprawić. – AD7six

Odpowiedz

0

Użyj base64_encode() Może to być przydatne w przypadku używania ciągu wielobajtowego Używam go w języku hindi.

0

Ustaw kodowanie bazy danych utf8_general_ci

1

to zazwyczaj dzieje się z powodu przechowywania sesji nie jest w stanie obsłużyć znaki wielobajtowe. Jeśli jest przechowywanie bazy danych mysql następnie ustawiając

Character Set do utf8

Sortowanie do utf8_general_ci

na stole i dziedzinie gospodarstwa dane sesji rozwiązuje te problemy.