Whoops \ Exception \ ErrorException (E_WARNING)
session_write_close(): Write failed: No space left on device (28) Whoops\Exception\ErrorException thrown with message "session_write_close(): Write failed: No space left on device (28)" Stacktrace: #3 Whoops\Exception\ErrorException in Unknown:0 #2 Whoops\Run:handleError in /var/www/dirt.tw/public/system/src/Grav/Common/Debugger.php:847 #1 Grav\Common\Debugger:deprecatedErrorHandler in [internal]:0 #0 session_write_close in [internal]:0
Stack frames (4)
3
Whoops\Exception\ErrorException
Unknown:0
2
Whoops\Run handleError
/system/src/Grav/Common/Debugger.php:847
1
Grav\Common\Debugger deprecatedErrorHandler
[internal]:0
0
session_write_close
[internal]:0
Unknown
Arguments
  1. "session_write_close(): Write failed: No space left on device (28)"
    
/var/www/dirt.tw/public/system/src/Grav/Common/Debugger.php
     */
    public function setErrorHandler()
    {
        $this->errorHandler = set_error_handler(
            [$this, 'deprecatedErrorHandler']
        );
    }
 
    /**
     * @param int $errno
     * @param string $errstr
     * @param string $errfile
     * @param int $errline
     * @return bool
     */
    public function deprecatedErrorHandler($errno, $errstr, $errfile, $errline)
    {
        if ($errno !== E_USER_DEPRECATED && $errno !== E_DEPRECATED) {
            if ($this->errorHandler) {
                return call_user_func($this->errorHandler, $errno, $errstr, $errfile, $errline);
            }
 
            return true;
        }
 
        if (!$this->enabled) {
            return true;
        }
 
        // Figure out error scope from the error.
        $scope = 'unknown';
        if (stripos($errstr, 'grav') !== false) {
            $scope = 'grav';
        } elseif (strpos($errfile, '/twig/') !== false) {
            $scope = 'twig';
            // TODO: remove when upgrading to Twig 2+
            if (str_contains($errstr, '#[\ReturnTypeWillChange]') || str_contains($errstr, 'Passing null to parameter')) {
                return true;
            }
        } elseif (stripos($errfile, '/yaml/') !== false) {
[internal]
[internal]

Environment & details:

Key Value
_url
"/photos/guanghua_pit_2026/guanghua_pit_2026-134"
empty
empty
empty
Key Value
redirect_after_login
"/photos/guanghua_pit_2026/guanghua_pit_2026-134"
user
Grav\Common\User\User {#3401}
messages
Grav\Framework\Session\Messages {#86}
Key Value
USER
"www-data"
HOME
"/var/www"
HTTPS
"on"
SERVER_PROTOCOL
"HTTP/2.0"
REQUEST_METHOD
"GET"
REMOTE_ADDR
"216.73.217.42"
CONTENT_TYPE
""
HTTP_VIA
"2.0 Caddy"
SCRIPT_NAME
"/index.php"
SCRIPT_FILENAME
"/var/www/dirt.tw/public/index.php"
SERVER_SOFTWARE
"Caddy/v2.11.2"
REMOTE_PORT
"15225"
CONTENT_LENGTH
"0"
HTTP_ACCEPT
"*/*"
HTTP_X_FORWARDED_HOST
"www.dirt.tw"
HTTP_CONTENT_LENGTH
"0"
REMOTE_HOST
"216.73.217.42"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
SERVER_PORT
"443"
REQUEST_URI
"/photos/guanghua_pit_2026/guanghua_pit_2026-134"
GATEWAY_INTERFACE
"CGI/1.1"
HTTP_HOST
"www.dirt.tw"
SERVER_NAME
"www.dirt.tw"
QUERY_STRING
"_url=%2Fphotos%2Fguanghua_pit_2026%2Fguanghua_pit_2026-134"
PATH_INFO
""
HTTP_X_FORWARDED_FOR
"216.73.217.42"
SSL_CIPHER
"TLS_AES_128_GCM_SHA256"
REMOTE_USER
""
AUTH_TYPE
""
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_X_FORWARDED_PROTO
"https"
SSL_PROTOCOL
"TLSv1.3"
DOCUMENT_URI
"/index.php"
DOCUMENT_ROOT
"/var/www/dirt.tw/public"
REQUEST_SCHEME
"https"
REMOTE_IDENT
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1777043307.9023
REQUEST_TIME
1777043307
empty
0. Whoops\Handler\PrettyPageHandler
1. Whoops\Handler\CallbackHandler