我正在尋找一種方式來閱讀PHP會話的內容,而實際上並沒有取代當前請求的運行會話。閱讀PHP會話,而不實際啓動它
可以說我有一個正在運行的會話(與在session_start()開始前,使用默認的會話處理程序,並通過PHPSESSID餅乾給出的SESSION_ID) 現在我有另一個(有效)SESSION_ID,我想讀一些的存儲在該會話中的數據。
我能想到的唯一方法是用$ oldSession = session_id()替換當前會話,使用session_id($ newId)設置新會話,然後從$ _SESSION讀取數據,然後重新啓動原始會話session_id($ oldSession) - 可能涉及session_commit()和session_start()的一些附加調用。
但我寧願不碰的電流,運行會議在所有...
PHP 5.4引入了SessionHandler類(http://php.net/manual/de/class.sessionhandler.php),但手動調用$ SessionHandler->閱讀似乎並沒有工作,要麼
$handler = new SessionHandler();
var_dump($handler->read($session));
//Fatal error: SessionHandler::read(): Cannot call default session handler
我使用的是原生的php memcached的會話處理程序
謝謝你的任何的竅門!
'SessionHandler'不適用於應用程序 'php_serialize' 工程直接打電話。如果他們想要自定義會話處理,他們應該實現一個子類,然後PHP會調用他們的會話處理程序。 – Barmar