Saldi invernali 2024, 2 milioni di toscani pronti agli acquisti

03/01/2024

L’indagine previsionale di Confcommercio Toscana: il 57% dei residenti comprerà abiti e calzature a prezzi scontati per un giro d’affari complessivo di oltre 296 milioni di euro. 142 euro a persona il budget di spesa regionale (5 euro in più rispetto alla media nazionale), in aumento rispetto ai saldi invernali del 2023 (133 euro), “ma c’è di mezzo l’inflazione”. Maglie, accessori, giubbotti e cappotti i capi di abbigliamento più richiesti, sneaker e mocassini per le calzature.

Potrebbe essere il freddo più intenso, sempre che arrivi, a dare una spinta in più alla partenza dei saldi invernali 2024, fissata in Toscana a venerdì 5 gennaio. Secondo le previsioni di Confcommercio Toscana, saranno due milioni (il 57% dei residenti) i toscani pronti ad acquistare abiti e calzature a prezzi ribassati nei sessanta giorni a disposizione, per un importo medio di 142 euro a persona.

 

In totale, un giro di affari di oltre 296 milioni di euro a livello regionale. A fare da capofila resta Firenze, dove alla spesa dei residenti, quantificabile in quasi 30 milioni di euro, dovrebbe aggiungersi quella dei tanti pendolari per motivi di lavoro o studio, oltre che dei turisti. “Ma i mesi di gennaio e febbraio non sono mai stati particolarmente brillanti in quanto ad arrivi e presenze – fa notare il direttore di Confcommercio Toscana Franco Marinoni - il turismo incide di più sul risultato dei saldi estivi, per quelli invernali i negozianti contano soprattutto sul mercato interno”.

 

L’attesa c’è, ed è alta, sia fra gli addetti ai lavori sia fra i consumatori, come testimonia l’aumento del budget di spesa rispetto ai saldi invernali degli ultimi anni. “Ma se siamo passati dai 133 euro del 2023 ai 142 di quest’anno è anche per effetto dell’inflazione, che ha fatto aumentare i prezzi – chiarisce Marinoni - in ogni caso, non siamo ancora tornati ai 160 euro registrati nell’inverno 2020, l’ultimo prima della pandemia. Segno che, purtroppo, il settore moda resta uno dei più penalizzati dalla difficile congiuntura”.

 

Gli affari in Toscana, comunque, dovrebbero andare meglio che altrove: “a livello previsionale, la spesa media regionale per i saldi è superiore di 5 euro rispetto a quella nazionale, che si attesta intorno ai 137 euro a persona”, sottolinea il presidente di Federmoda-Confcommercio Toscana Paolo Mantovani. Non mancano altre note positive: “la gente sta tornando a frequentare i negozi fisici e la crescita dell’e-commerce ha subito un arresto – prosegue Mantovani – lo si è visto anche a dicembre. Un po’ c’entra la voglia di tornare alla vita sociale pre-pandemia, che ha sempre avuto nello shopping in compagnia un rituale importante. Ma c’entra anche il fatto che in questi anni i negozianti della rete tradizionale sono diventati più reattivi alla concorrenza del web: hanno adottato nuove tecniche di vendita, ispirate al neuromarketing, e hanno imparato a usare i social per farsi promozione. Si stanno quindi riprendendo la visibilità che avevano perduto, oscurata dal marketing potente dei colossi del digitale”.

 

L’invito di Federmoda-Confcommercio Toscana è di rivolgersi con fiducia ai commercianti di riferimento: “veniamo da un autunno molto calmo, anche per via delle temperature miti che di certo non hanno agevolato le vendite. Questo significa che l’assortimento di modelli, taglie e colori nei negozi è ancora piuttosto alto. E l’abbassamento delle temperature previsto proprio in concomitanza con la partenza dei saldi potrebbe spingere anche i più restii a fare qualche acquisto. È ovvio che per noi commercianti vendere con gli sconti significa ridurre drasticamente i margini di ricavo, ma per i consumatori può rappresentare un vantaggio”, dice Mantovani.

 

Per quanto riguarda le tendenze del mercato, “le persone cercano capi versatili, comodi e di uso quotidiano, che si mescolino bene con quanto già hanno nell’armadio e che possano diventare più eleganti semplicemente con l’aggiunta dell’accessorio giusto – spiega il presidente di Federmoda Toscana – in pochi chiedono abiti specifici per un’occasione. Maglie, accessori, giubbotti e cappotti sono i prodotti di abbigliamento più richiesti, sneaker e mocassini per quanto riguarda le calzature le calzature.

 

LE REGOLE

Confcommercio ricorda ad esercenti e consumatori le principali regole per il corretto svolgimento delle vendite in saldo.

 

1. Cambi: la possibilità di cambiare il capo dopo che lo si è acquistato è generalmente lasciata alla discrezionalità del negoziante, a meno che il prodotto non sia danneggiato o non conforme (Art. 129 e ss. D.lgs. 6 settembre 2005, n. 206, Codice del Consumo). In questo caso scatta l’obbligo per il negoziante della riparazione o della sostituzione del capo e, nel caso ciò risulti impossibile, la riduzione o la restituzione del prezzo pagato (art. 135 bis del D.Lgs. 206/2005 – Codice del Consumo). Il compratore è però tenuto a denunciare il vizio del capo entro due mesi dalla data della scoperta del difetto. Per gli acquisti online i cambi o la rescissione del contratto sono sempre consentiti entro 14 giorni dalla ricezione del prodotto indipendentemente dalla presenza di difetti, fatta eccezione per i prodotti su misura o personalizzati (artt. 52 e ss. del D.Lgs. 206/2005 – Codice del Consumo).

 

2. Prova dei capi: non c’è obbligo. È rimessa alla discrezionalità del negoziante.

 

3. Pagamenti: le carte di credito devono essere accettate da parte del negoziante e vanno favoriti i pagamenti cashless.

 

4. Prodotti in vendita: i capi che vengono proposti in saldo devono avere carattere stagionale o di moda ed essere suscettibili di notevole deprezzamento se non venduti entro un certo periodo di tempo.

 

5. Indicazione del prezzo: in Toscana è obbligo del negoziante indicare il prezzo normale di vendita e lo sconto. Non necessaria l’indicazione del prezzo finale risultante dopo lo sconto. In tutto il periodo dei saldi il prezzo iniziale sarà il prezzo più basso applicato alla generalità dei consumatori nei 30 giorni antecedenti l’inizio dei saldi (Art. 17 bis D.Lgs. 206/2005 – Codice del Consumo introdotto dal D.Lgs. n. 26/2023 di recepimento della Direttiva UE «Omnibus»).

 

STIMA DEI SALDI INVERNALI 2024 IN TOSCANA 

VALORE SALDI INVERNALI (milioni di euro)

296,05

NUMERO RESIDENTI IN TOSCANA (al 31.10.2023)

3.657.635

NUMERO RESIDENTI CHE ACQUISTANO IN SALDO

2.084.852

ACQUISTO MEDIO A PERSONA NEI SALDI INVERNALI (euro)

142

 

STIMA DEI SALDI INVERNALI 2024 A FIRENZE

VALORE SALDI INVERNALI (milioni di euro)

29,7

NUMERO RESIDENTI COMUNE DI FIRENZE (AL 30.10.2023)

366.993

NUMERO FIORENTINI CHE ACQUISTANO IN SALDO

209.186

ACQUISTO MEDIO A PERSONA NEI SALDI INVERNALI (euro)

142

Fonte: elaborazioni Ufficio Studi Confcommercio

Whoops! There was an error.
ErrorException (E_NOTICE)
fwrite(): write of 1762 bytes failed with errno=28 No space left on device ErrorException thrown with message "fwrite(): write of 1762 bytes failed with errno=28 No space left on device" Stacktrace: #11 ErrorException in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139 #10 fwrite in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139 #9 Monolog\Handler\StreamHandler:streamWrite in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:125 #8 Monolog\Handler\StreamHandler:write in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39 #7 Monolog\Handler\AbstractProcessingHandler:handle in /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php:344 #6 Monolog\Logger:addRecord in /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php:712 #5 Monolog\Logger:error in /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203 #4 Illuminate\Log\Writer:writeLog in /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114 #3 Illuminate\Log\Writer:error in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113 #2 Illuminate\Foundation\Exceptions\Handler:report in /var/www/html/app/Exceptions/Handler.php:39 #1 App\Exceptions\Handler:report in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
11
ErrorException
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139
10
fwrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139
9
Monolog\Handler\StreamHandler streamWrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:125
8
Monolog\Handler\StreamHandler write
/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39
7
Monolog\Handler\AbstractProcessingHandler handle
/vendor/monolog/monolog/src/Monolog/Logger.php:344
6
Monolog\Logger addRecord
/vendor/monolog/monolog/src/Monolog/Logger.php:712
5
Monolog\Logger error
/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203
4
Illuminate\Log\Writer writeLog
/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114
3
Illuminate\Log\Writer error
/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113
2
Illuminate\Foundation\Exceptions\Handler report
/app/Exceptions/Handler.php:39
1
App\Exceptions\Handler report
/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81
0
Illuminate\Foundation\Bootstrap\HandleExceptions handleException
[internal]:0
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
        }
 
        return false;
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
Arguments
  1. "fwrite(): write of 1762 bytes failed with errno=28 No space left on device"
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
        }
 
        return false;
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/var/www/html/storage/logs/laravel.log"
      options: []
    }
    
  2. """
    [2026-04-20 08:24:00] production.ERROR: file_put_contents(): write of 263 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 263 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
    [stacktrace]\n
    #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
    #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
    #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
    #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('X5Qk1SA7x5aHoj2...', 'a:3:{s:6:\"_toke...')\n
    #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
    #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #8 {main}\n
    "} \n
    """
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
            set_error_handler(array($this, 'customErrorHandler'));
            $this->stream = fopen($this->url, 'a');
            if ($this->filePermission !== null) {
                @chmod($this->url, $this->filePermission);
            }
            restore_error_handler();
            if (!is_resource($this->stream)) {
                $this->stream = null;
 
                throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $this->url));
            }
            $this->streamSetChunkSize();
        }
 
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/var/www/html/storage/logs/laravel.log"
      options: []
    }
    
  2. array:8 [
      "message" => "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776673440 {
        date: 2026-04-20 08:24:00.811361 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 08:24:00] production.ERROR: file_put_contents(): write of 263 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 263 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('X5Qk1SA7x5aHoj2...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
 *
 * @author Jordi Boggiano <j.boggiano@seld.be>
 * @author Christophe Coevoet <stof@notk.org>
 */
abstract class AbstractProcessingHandler extends AbstractHandler
{
    /**
     * {@inheritdoc}
     */
    public function handle(array $record)
    {
        if (!$this->isHandling($record)) {
            return false;
        }
 
        $record = $this->processRecord($record);
 
        $record['formatted'] = $this->getFormatter()->format($record);
 
        $this->write($record);
 
        return false === $this->bubble;
    }
 
    /**
     * Writes the record down to the log of the implementing handler
     *
     * @param  array $record
     * @return void
     */
    abstract protected function write(array $record);
 
    /**
     * Processes a record.
     *
     * @param  array $record
     * @return array
     */
    protected function processRecord(array $record)
    {
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776673440 {
        date: 2026-04-20 08:24:00.811361 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 08:24:00] production.ERROR: file_put_contents(): write of 263 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 263 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('X5Qk1SA7x5aHoj2...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php
        }
        $ts->setTimezone(static::$timezone);
 
        $record = array(
            'message' => (string) $message,
            'context' => $context,
            'level' => $level,
            'level_name' => $levelName,
            'channel' => $this->name,
            'datetime' => $ts,
            'extra' => array(),
        );
 
        try {
            foreach ($this->processors as $processor) {
                $record = call_user_func($processor, $record);
            }
 
            while ($handler = current($this->handlers)) {
                if (true === $handler->handle($record)) {
                    break;
                }
 
                next($this->handlers);
            }
        } catch (Exception $e) {
            $this->handleException($e, $record);
        }
 
        return true;
    }
 
    /**
     * Ends a log cycle and frees all resources used by handlers.
     *
     * Closing a Handler means flushing all buffers and freeing any open resources/handles.
     * Handlers that have been closed should be able to accept log records again and re-open
     * themselves on demand, but this may not always be possible depending on implementation.
     *
     * This is useful at the end of a request and will be called automatically on every handler
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776673440 {
        date: 2026-04-20 08:24:00.811361 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 08:24:00] production.ERROR: file_put_contents(): write of 263 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 263 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('X5Qk1SA7x5aHoj2...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function err($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the ERROR level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function error($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function crit($message, array $context = array())
    {
        return $this->addRecord(static::CRITICAL, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
Arguments
  1. 400
    
  2. "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php
     * @return void
     */
    public function write($level, $message, array $context = [])
    {
        $this->writeLog($level, $message, $context);
    }
 
    /**
     * Write a message to Monolog.
     *
     * @param  string  $level
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    protected function writeLog($level, $message, $context)
    {
        $this->fireLogEvent($level, $message = $this->formatMessage($message), $context);
 
        $this->monolog->{$level}($message, $context);
    }
 
    /**
     * Register a file log handler.
     *
     * @param  string  $path
     * @param  string  $level
     * @return void
     */
    public function useFiles($path, $level = 'debug')
    {
        $this->monolog->pushHandler($handler = new StreamHandler($path, $this->parseLevel($level)));
 
        $handler->setFormatter($this->getDefaultFormatter());
    }
 
    /**
     * Register a daily file log handler.
     *
     * @param  string  $path
Arguments
  1. "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function critical($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log an error message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function error($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a warning message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function warning($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a notice to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
Arguments
  1. "error"
    
  2. "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php
     */
    public function report(Exception $e)
    {
        if ($this->shouldntReport($e)) {
            return;
        }
 
        if (method_exists($e, 'report')) {
            return $e->report();
        }
 
        try {
            $logger = $this->container->make(LoggerInterface::class);
        } catch (Exception $ex) {
            throw $e; // throw the original exception
        }
 
        $logger->error(
            $e->getMessage(),
            array_merge($this->context(), ['exception' => $e]
        ));
    }
 
    /**
     * Determine if the exception should be reported.
     *
     * @param  \Exception  $e
     * @return bool
     */
    public function shouldReport(Exception $e)
    {
        return ! $this->shouldntReport($e);
    }
 
    /**
     * Determine if the exception is in the "do not report" list.
     *
     * @param  \Exception  $e
     * @return bool
     */
Arguments
  1. "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/app/Exceptions/Handler.php
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];
 
    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        parent::report($exception);
    }
 
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {
        return parent::render($request, $exception);
    }
}
 
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
    }
 
    /**
     * Handle an uncaught exception from the application.
     *
     * Note: Most exceptions can be handled via the try / catch block in
     * the HTTP and Console kernels. But, fatal error exceptions must
     * be handled differently since they are not normal exceptions.
     *
     * @param  \Throwable  $e
     * @return void
     */
    public function handleException($e)
    {
        if (! $e instanceof Exception) {
            $e = new FatalThrowableError($e);
        }
 
        try {
            $this->getExceptionHandler()->report($e);
        } catch (Exception $e) {
            //
        }
 
        if ($this->app->runningInConsole()) {
            $this->renderForConsole($e);
        } else {
            $this->renderHttpResponse($e);
        }
    }
 
    /**
     * Render an exception to the console.
     *
     * @param  \Exception  $e
     * @return void
     */
    protected function renderForConsole(Exception $e)
    {
        $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
[internal]
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 263 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_HTTPS
"on"
REDIRECT_STATUS
"200"
HTTPS
"on"
HTTP_HOST
"www.confcommercio.toscana.it"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_X_FORWARDED_FOR
"216.73.217.144"
HTTP_X_FORWARDED_HOST
"www.confcommercio.toscana.it"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_SERVER
"5c871fc76d2d"
HTTP_X_REAL_IP
"216.73.217.144"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.54 (Debian) Server at www.confcommercio.toscana.it Port 80</address>\n"
SERVER_SOFTWARE
"Apache/2.4.54 (Debian)"
SERVER_NAME
"www.confcommercio.toscana.it"
SERVER_ADDR
"172.18.0.11"
SERVER_PORT
"80"
REMOTE_ADDR
"172.18.0.2"
DOCUMENT_ROOT
"/var/www/html/public"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/public"
SERVER_ADMIN
"[no address given]"
SCRIPT_FILENAME
"/var/www/html/public/index.php"
REMOTE_PORT
"54448"
REDIRECT_URL
"/news/saldi-invernali-2024-2-milioni-di-toscani-pronto-agli-acquisti"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/news/saldi-invernali-2024-2-milioni-di-toscani-pronto-agli-acquisti"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1776673440.7854
REQUEST_TIME
1776673440
argv
[]
argc
0
Key Value
DB_PASSWORD
"953knS6N@j@4"
MAIL_PORT
"2525"
MAIL_DRIVER
"smtp"
REDIS_PASSWORD
""
HOSTNAME
"54d20b25acbc"
PHP_VERSION
"7.4.33"
APACHE_CONFDIR
"/etc/apache2"
REDIS_HOST
"127.0.0.1"
PHP_INI_DIR
"/usr/local/etc/php"
GPG_KEYS
"42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PWD
"/var/www/html"
SITE_UID
"2011"
CACHE_DRIVER
"file"
SITE_GID
"2011"
APP_LOG_LEVEL
"debug"
DB_PORT
"3316"
APACHE_LOG_DIR
"/var/log/apache2"
LANG
"C"
PUSHER_APP_CLUSTER
"mt1"
MAIL_USERNAME
""
APP_KEY
"base64:RPBgDgDOkssuiSO31vYoDq1VkDx3nhdZV2zUeSqqCvk="
APP_ENV
"production"
MAIL_PASSWORD
""
APP_DEBUG
"true"
APP_URL
"https://www.confcommercio.toscana.it"
PHP_SHA256
"924846abf93bc613815c55dd3f5809377813ac62a9ec4eb3778675b82a27b927"
APACHE_PID_FILE
"/var/run/apache2/apache2.pid"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
DB_USERNAME
"confcomtos"
PUSHER_APP_ID
""
DB_CONNECTION
"mysql"
DB_HOST
"10.255.0.7"
PHP_URL
"https://www.php.net/distributions/php-7.4.33.tar.xz"
PUSHER_APP_KEY
""
APACHE_RUN_GROUP
"sitegroup"
PUSHER_APP_SECRET
""
APACHE_LOCK_DIR
"/var/lock/apache2"
APP_NAME
"Confcommercio Toscana"
SHLVL
"0"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
BROADCAST_DRIVER
"log"
REDIS_PORT
"6379"
APACHE_RUN_DIR
"/var/run/apache2"
APACHE_ENVVARS
"/etc/apache2/envvars"
SESSION_DRIVER
"file"
APACHE_RUN_USER
"siteuser"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
MAIL_ENCRYPTION
""
MAIL_HOST
"smtp.mailtrap.io"
DB_DATABASE
"confcomtos_prod"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
PHP_ASC_URL
"https://www.php.net/distributions/php-7.4.33.tar.xz.asc"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
0. Whoops\Handler\PrettyPageHandler