Skip to content

Reklamy google.

Start arrow Artykuły arrow www arrow Wygasanie sesji w Joomla, VirtueMart

Wygasanie sesji w Joomla, VirtueMart

Drukuj Wyślij znajomemu
Oceny: / 1
KiepskiBardzo dobry 
Redaktor: Administrator   
21.02.2008.

Częstym problemem na nowych instalacjach Joomla 1.0.13 jest wygasanie sesji. Np kiedy robimy coś na VirtueMart, chcemy zapisać zmiany i wtedy zostajemy wylogowani. I dostajemy komunikat że sesja wygasła. Przed wylogowaniem często na dole w panelu administratora pojawiają się takie komunikaty (mniej więcej takie):

  1. Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/muitoafr/public_html/fimo/includes/joomla.php:4145) in /home/muitoafr/public_html/fimo/includes/joomla.php on line 800
  2.  
  3. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/muitoafr/public_html/fimo/includes/joomla.php:4145) in /home/muitoafr/public_html/fimo/includes/joomla.php on line 800
 

Jak sobie z tym poradzić? Ciężko uwierzyć ale błąd ten powodowany jest przez złą kolejność komend. Tzn jednÄ… komendÄ™ wystarczy przenieść na koniec pliku. PamiÄ™taj! Przed dokonaniem jakichkolwiek zmian w plikach Joomla zrób ich kopiÄ™! Gdy coÅ› nie zadziaÅ‚a przywrócisz skopiowane pliki i bÄ™dzie jak poprzednio! Aby naprawić ten błąd musisz edytować plik: /administrator/index2.php odszukujemy kod wyglÄ…dajÄ…cy tak:

  1. doGzip();
  2.  
  3. // if task action is 'save' or 'apply' redo session check
  4. if ( $task == 'save' || $task == 'apply' ) {
  5. $mainframe->initSessionAdmin( $option, '' );
  6. }
 

 Teraz modyfikujemy go w ten sposób:

  1. // if task action is 'save' or 'apply' redo session check
  2. if ( $task == 'save' || $task == 'apply' ) {
  3. $mainframe->initSessionAdmin( $option, '' );
  4. }
  5. doGzip();
 

JeÅ›li po tych zmianach nadal sesja bÄ™dzie wygasać to prawdopodobnie masz źle zadeklarowanÄ… Å›cieżkÄ™ do ktalogu w którym zapisywane sÄ… sesje. Aby to naprawić utwórz w katalogu gÅ‚ównym Twojej strony folder o dowolnej nazwie (ja napisaÅ‚em tmp)  nadaj mu prawa do zapisu. A nastÄ™pnie edytuj /includes/joomla.php odrazu zaraz za pierwszym komentarzem jako pierwszÄ… instrukcjÄ™ w pliku wpisz:
{geshibot lang="php"}session_save_path("/Å›cieżka/do/twojego/katalogu/tmp");{geshibot} 

I po problemie! Sposób rozwiÄ…zania tego problemu znalazÅ‚em na jednym z anglojÄ™zycznych for o Joomla, niestety teraz nie pamietam jakiego. Jak sobie przypomnÄ™ to dodam link do wÄ…tku oryginalnego na forum. 

 

Zmieniony ( 14.03.2008. )
 
« poprzedni artykuÅ‚   nastÄ™pny artykuÅ‚ »