Mysql
 sql >> база данни >  >> RDS >> Mysql

Session_set_save_handler не се задава

Задаването на манипулатора за запазване на сесията е неуспешно:

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

Тъй като тези обратни извиквания, за които искате да се регистрирате, не съществуват:

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

Това е така, защото вашите обектни методи трябва да бъдат правилно регистрирани като обратни извиквания. Обратното извикване на обектен метод се записва под формата на масив с два елемента, първият е обектът, вторият е низ от името на метода. Пример от PHP net, който е подобен на вашия:

$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')
);

Както можете да видите, всеки метод е написан като единичен масив с първия елемент $handler винаги.

В рамките на класа можете да използвате $this да се отнасят към същия обект. Но преди да напишете напълно своя собствена, проверете session_set_save_handler() PHP страница с ръководство за информация, примери и бележки, предоставени от потребителите. Има различни начини как можете да организирате това за вашия случай.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Защо да посочвате ширината на дисплея, без да използвате Zerofill

  2. Как да намерите повтарящи се думи на клетка в SQL

  3. Как да внедрим йерархични cms сайтове?

  4. MySQL:Много таблици или много бази данни?

  5. MySQL условно вмъкване при дубликат