Skip to content

Provide more information if writing session with custom save handler fails #7787

Closed
@mokraemer

Description

@mokraemer

Description

The following code:

<?php
class MySessionHandler implements SessionHandlerInterface, SessionUpdateTimestampHandlerInterface {
    public function write($sessID, $sessData, $lock = false): bool {
        if(...){
            return false;
        }

        if(...){
            return false;
        }
        return true;
    }

    public function updateTimestamp($sessID, $val){
        return false;
    }
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

Resulted in this output:

session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php)

But I expected this output instead:
Having this "fake" session handler, it is impossible to say where session write failed and find the cause. An installed error handler just reports
errorHandler::errorHandler called at [:]

PHP Version

php 8.0.14

Operating System

Mageia 8

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions