Wyjątkowo nie będę pisał tego tekstu po angielsku, ponieważ jest bardzo dużo różnych dziwnych rozwiązań w tym języku ale żadne nie zadziałało In My Case.
Dane:
Podczas wykonywania czynności obsługi sesji w bazie postępując zgodnie z VideoTutorialem natknąłem się na pewien problem, poważny problem dotyczący sessji bazodanowej, jak w tytule: "Error reading session data".
Powyżej umieściłem screen błędu jaki pojawił się po ustawieniu Session::$default = 'database'; IMC (InMyCase) było to w innej linii ale ten sam błąd:
Spędziłem bardzo dużo czasu czytając rozwiązania w sieci i próbójąc je szybko realizować, a że była noc to zmęczenie dało znać. Dziś na świerzy umysł przejrzałem kilka rozwiązań w interecie, które były lepsze, i miałem czas na dokładne ich przeczytanie. Okazało się tak jak napisano w jednej ze stron:http://tomaszslazok.pl/2011/09/kohana-3-2-a-exception-w-session/
Rozwiązanie:
Zasugerowałem się podpowiedzią dotyczącą tego aby szczegóły błędu wyświetlić, bo kohana nie daje pełnej informacji o błędzie. Tak też uczyniłem...
listing 1.1. W pliku: kohana/system/classes/Kohana/Session.php
listing 1.2. W pliku: kohana/system/classes/Kohana/Session.php
Wystarczyło na to by stwierdzić, że metoda mysql_connect(); jest metodą pochodzącą z PHP a w wersji PHP 5.5 ta metoda została oznaczona jako Deprecated, i na dodatek wywołuje błąd Deprecated Error, który powoduje taki właśnie błąd we Frameworku Kohana. No cóż... Nie można mieć wszystkiego co najnowsze, bo pierszy przychodzi język a potem ludzie dostosowują frameworki...
listing 2.1. W konsoli:
Dane:
źródło: http://tomaszslazok.pl/2011/09/kohana-3-2-a-exception-w-session/ |
Powyżej umieściłem screen błędu jaki pojawił się po ustawieniu Session::$default = 'database'; IMC (InMyCase) było to w innej linii ale ten sam błąd:
Spędziłem bardzo dużo czasu czytając rozwiązania w sieci i próbójąc je szybko realizować, a że była noc to zmęczenie dało znać. Dziś na świerzy umysł przejrzałem kilka rozwiązań w interecie, które były lepsze, i miałem czas na dokładne ich przeczytanie. Okazało się tak jak napisano w jednej ze stron:http://tomaszslazok.pl/2011/09/kohana-3-2-a-exception-w-session/
Rozwiązanie:
Zasugerowałem się podpowiedzią dotyczącą tego aby szczegóły błędu wyświetlić, bo kohana nie daje pełnej informacji o błędzie. Tak też uczyniłem...
listing 1.1. W pliku: kohana/system/classes/Kohana/Session.php
catch (Exception $e) { // Error reading the session, usually a corrupt session. throw new Session_Exception('Error reading session data.', NULL, Session_Exception::SESSION_CORRUPT); }Dodałem informację o błędzie poprzez konkatenacje stringów (za pomocą operatora konkatenacji) sposób przedstawiam poniżej:
listing 1.2. W pliku: kohana/system/classes/Kohana/Session.php
catch (Exception $e) { // Error reading the session, usually a corrupt session. throw new Session_Exception('Error reading session data.' . " [Details: " . $e . " ]", NULL, Session_Exception::SESSION_CORRUPT); }Dzięki temu uzyskałem precyzyjniejszy komunikat gdzie leży błąd:
Co zalecam?
Instalacje kolejnej starszej wersji PHP w wersji 5.4.x w której to nie będzie ten bład występował dla Kohana Framework 3.3;
Jako, że korzystam z systemu Gentoo, nie miałem problemów z instalacją obok najnowszej wersji wersji nie co starszej.
listing 2.1. W konsoli:
root@localhost : emerge -av =dev-lang/php-5.4.17 ... root@localhost : eselect php set apache2 1 // ustawiam starszą wersję PHP ... root@localhost : /etc/init.d/apache2 restart