Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Session_set_save_handler nie ustawia się

Ustawienie obsługi zapisywania sesji nie powiodło się:

session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc")

Ponieważ te wywołania zwrotne, do których chcesz się zarejestrować, nie istnieją:

var_dump(is_callable("sess_open")); # FALSE

Dzieje się tak, ponieważ metody obiektów muszą być poprawnie zarejestrowane jako wywołania zwrotne. Callback metody obiektowej jest zapisany w postaci tablicy składającej się z dwóch elementów, z których pierwszy to obiekt, a drugi łańcuch o nazwie metody. Przykład z sieci PHP, który jest podobny do twojego:

$handler = new FileSessionHandler();
session_set_save_handler(
    array($handler, 'open'),
    array($handler, 'close'),
    array($handler, 'read'),
    array($handler, 'write'),
    array($handler, 'destroy'),
    array($handler, 'gc')
);

Jak widać, każda metoda jest zapisana jako pojedyncza tablica z pierwszym elementem $handler zawsze.

Z poziomu klasy możesz użyć $this odnosić się do tego samego obiektu. Ale zanim w pełni napiszesz swój własny, sprawdź session_set_save_handler() Strona podręcznika PHP dla informacji, przykładów i notatek użytkowników. Istnieją różne sposoby na zorganizowanie tego w swojej sprawie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy ta lokalna dla wątku sesja Flask-SQLAchemy powoduje błąd serwera MySQL?

  2. Jak uzyskać rekordy między 2 datami w MySQL?

  3. Jak mogę połączyć dwie procedury w jedną, aby wypełnić jedną tabelę, a nie każdą z dwóch procedur wypełniających jej własną tabelę?

  4. Różne wyniki przy użyciu tego samego zapytania z DB::raw i Eloquent

  5. Wprowadzenie do złączeń SQL