Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [5.0.2] Błąd sesji w destructorze
DeyV
post
Post #1





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




jednak php5 ciągle doskonałe nie jest... Dziś prawie zawału bym dostał przez beznadziejny błąd.
Jeśli moglibyście - sprawdźcie, jak to działa na waszych wersjach php - u mnie w każdym razie na php5.0.2 zarówno na windowsie jak i linuksie pojawił się ten sam błąd.

Natomiast na php 5.1.0 alfa wszystko jest OK.

  1. <?php
  2.  
  3. class test
  4. {
  5.  function __construct()
  6.  {
  7. echo '<br />__construct <br />';  
  8.  var_dump( $_SESSION );
  9.  
  10.  if( empty( $_SESSION['iForConstruct'] ) ) //inicjalizacja
  11.  {  
  12.  $_SESSION['iForConstruct'] = 1;
  13.  $_SESSION['iForDestruct'] = 1;
  14.  }
  15.  $_SESSION['iForConstruct']++;
  16.  }
  17.  
  18.  function __destruct()
  19.  {
  20.  echo '<br />__destruct';  
  21.  $_SESSION['iForDestruct'] ++;
  22.  }
  23. }
  24.  
  25.  
  26. $test = new test();
  27. ?>


Jak łatwo zauważyć - wartość iForDestruct powinna się zwiększać co każde odświerzenie, tak jak to się dzieje w przypadku iForConstruct
Niestety - nic takiego się nie dzieje.




++++++++++++++++++++++++++
Co ciekawe - na bugs.php.net otrzymałem informację, że jest to normalne i oczekiwane zachowanie, ponieważ "The session is ended before destructors are run."

Cikawe, czy to oznacza, że aktualne zachowanie php5.1 zostanie zmodyfikowane, czy też ktoś jednak przekonał się, że jest to jednak niezgodne z oczekiwaniem większości?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Vengeance
post
Post #2





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


php 5.0.0 i ten sam efekt ;]

jednak jak dam
  1. <?php
  2.  
  3. $test = new test();
  4. unset($test);
  5.  
  6. ?>


to dziala ok czyli wyglada na to ze obiekty sa "kasowane" po "zakończeniu sesji" czy jak to tam nazwać.

Ten post edytował Vengeance 22.10.2004, 21:14:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 15:42