sql >> Database >  >> RDS >> Mysql

Session_set_save_handler niet ingesteld

Het instellen van de sessiebewaarhandler mislukt:

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

Omdat deze callbacks waarvoor u zich wilt registreren niet bestaan:

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

Dat komt omdat uw objectmethoden correct moeten worden geregistreerd als callbacks. Een objectmethode-callback wordt geschreven in de vorm van een array met twee elementen, de eerste is het object, de tweede een string van de methodenaam. Voorbeeld van PHP-net dat vergelijkbaar is met het uwe:

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

Zoals je kunt zien, wordt elke methode geschreven als een enkele array met het eerste element $handler altijd.

Vanuit de klas kun je $this . gebruiken verwijzen naar hetzelfde object. Maar voordat u uw eigen volledig schrijft, controleert u de session_set_save_handler() PHP-handleiding voor info, voorbeelden en opmerkingen van gebruikers. Er zijn verschillende manieren om dat voor uw zaak te organiseren.



  1. Hoe maak je een Qt mysql-stuurprogramma in Windows?

  2. Bepalen of MySQL-tabelindex bestaat voordat u deze maakt

  3. SSL gebruiken om vanuit PHP verbinding te maken met mySQL

  4. MySQL-syntaxis en 'OF'-prestaties