Canadian Classics Canadian Classics
SALES UP TO 40% OFF | FREE SHIPPING OVER €250
SALES UP TO 40% OFF | FREE SHIPPING OVER €250 SALES UP TO 40% OFF | FREE SHIPPING OVER €250 SALES UP TO 40% OFF | FREE SHIPPING OVER €250 SALES UP TO 40% OFF | FREE SHIPPING OVER €250 SALES UP TO 40% OFF | FREE SHIPPING OVER €250 SALES UP TO 40% OFF | FREE SHIPPING OVER €250

Accessibility

Our e-commerce website was designed and developed with the goal of being compliant with Web Content Accessibility Guidelines (WCAG) 2.1 – Level AA, to ensure an inclusive experience for all users, regardless of their abilities.

We used automatic verification tools, such as axe DevTools, that did not find any accessibility errors in the pages analysed.

Although our commitment to accessibility is constant, the breadth and evolution of the platform may cause temporary misalignments between the various pages in terms of accessibility. Making updates and improvements is an ongoing effort that we are constantly engaged in, by looking for solutions that bring all areas of the platform to the same level of general accessibility. Our team carries out periodic audits to constantly monitor and improve the website accessibility.

If you encounter an accessibility issues, we ask you to report it to us specifying:

  • The selected country and language,
  • The URL of the relevant page,
  • A detailed description of the problem encountered.

We will get back to you as soon as possible to make the requested information accessible or provide a suitable alternative.
For reports and requests relating to accessibility, please write to the following e-mail address: canadian.support@ecommerceonline.it



99092
en
Loading…
Loading the web debug toolbar…
Attempt #
Failed to start the session because headers have already been sent by "/var/www/canadian/vendor/symfony/http-foundation/Response.php" at line 382. (500 Internal Server Error)

Symfony Exception

ValueError RuntimeException

HTTP 500 Internal Server Error

Failed to start the session because headers have already been sent by "/var/www/canadian/vendor/symfony/http-foundation/Response.php" at line 382.

Exceptions 2

RuntimeException

  1.         if (\PHP_SESSION_ACTIVE === session_status()) {
  2.             throw new \RuntimeException('Failed to start the session: already started by PHP.');
  3.         }
  4.         if (filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOL) && headers_sent($file$line)) {
  5.             throw new \RuntimeException(\sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.'$file$line));
  6.         }
  7.         $sessionId $_COOKIE[session_name()] ?? null;
  8.         /*
  9.          * Explanation of the session ID regular expression: `/^[a-zA-Z0-9,-]{22,250}$/`.
  1.         $this->registerBag($flashes);
  2.     }
  3.     public function start(): bool
  4.     {
  5.         return $this->storage->start();
  6.     }
  7.     public function has(string $name): bool
  8.     {
  9.         return $this->getAttributeBag()->has($name);
  1.     public function onKernelRequest(RequestEvent $event): bool
  2.     {
  3.         //Inizializzo la sessione
  4.         if (!$this->currentRequest->getSession()->isStarted()) {
  5.             $this->currentRequest->getSession()->start();
  6.             $this->currentRequest->getSession()->set('nrProductsInCart'0);
  7.         }
  8.         if (!$this->currentRequest->getSession()->has('nrListini')) {
  9.             $this->currentRequest->getSession()->set('nrListini'$this->nrListini);
  1.         $this->priority ??= $dispatcher->getListenerPriority($eventName$this->listener);
  2.         $e $this->stopwatch->start($this->name'event_listener');
  3.         try {
  4.             ($this->optimizedListener ?? $this->listener)($event$eventName$dispatcher);
  5.         } finally {
  6.             if ($e->isStarted()) {
  7.                 $e->stop();
  8.             }
  9.         }
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.         try {
  2.             $this->beforeDispatch($eventName$event);
  3.             try {
  4.                 $e $this->stopwatch->start($eventName'section');
  5.                 try {
  6.                     $this->dispatcher->dispatch($event$eventName);
  7.                 } finally {
  8.                     if ($e->isStarted()) {
  9.                         $e->stop();
  10.                     }
  11.                 }
  1.      */
  2.     private function handleRaw(Request $requestint $type self::MAIN_REQUEST): Response
  3.     {
  4.         // request
  5.         $event = new RequestEvent($this$request$type);
  6.         $this->dispatcher->dispatch($eventKernelEvents::REQUEST);
  7.         if ($event->hasResponse()) {
  8.             return $this->filterResponse($event->getResponse(), $request$type);
  9.         }
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         }
  2.         $request $this->duplicateRequest($throwable$event->getRequest());
  3.         try {
  4.             $response $event->getKernel()->handle($requestHttpKernelInterface::SUB_REQUESTfalse);
  5.         } catch (\Exception $e) {
  6.             $f FlattenException::createFromThrowable($e);
  7.             $this->logException($e\sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)'$f->getClass(), $f->getMessage(), basename($e->getFile()), $e->getLine()));
  1.         $this->priority ??= $dispatcher->getListenerPriority($eventName$this->listener);
  2.         $e $this->stopwatch->start($this->name'event_listener');
  3.         try {
  4.             ($this->optimizedListener ?? $this->listener)($event$eventName$dispatcher);
  5.         } finally {
  6.             if ($e->isStarted()) {
  7.                 $e->stop();
  8.             }
  9.         }
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.         try {
  2.             $this->beforeDispatch($eventName$event);
  3.             try {
  4.                 $e $this->stopwatch->start($eventName'section');
  5.                 try {
  6.                     $this->dispatcher->dispatch($event$eventName);
  7.                 } finally {
  8.                     if ($e->isStarted()) {
  9.                         $e->stop();
  10.                     }
  11.                 }
  1.      * Handles a throwable by trying to convert it to a Response.
  2.      */
  3.     private function handleThrowable(\Throwable $eRequest $requestint $type): Response
  4.     {
  5.         $event = new ExceptionEvent($this$request$type$eisKernelTerminating$this->terminating);
  6.         $this->dispatcher->dispatch($eventKernelEvents::EXCEPTION);
  7.         // a listener might have replaced the exception
  8.         $e $event->getThrowable();
  9.         if (!$event->hasResponse()) {
  1.         if ($pop $request !== $this->requestStack->getMainRequest()) {
  2.             $this->requestStack->push($request);
  3.         }
  4.         try {
  5.             $response $this->handleThrowable($exception$requestself::MAIN_REQUEST);
  6.         } finally {
  7.             if ($pop) {
  8.                 $this->requestStack->pop();
  9.             }
  10.         }
  1.                         if ($hasRun) {
  2.                             throw $e;
  3.                         }
  4.                         $hasRun true;
  5.                         $kernel->terminateWithException($e$request);
  6.                     };
  7.                 }
  8.             } elseif ($event instanceof ConsoleEvent && $app $event->getCommand()->getApplication()) {
  9.                 $output $event->getOutput();
  10.                 if ($output instanceof ConsoleOutputInterface) {
in /var/www/canadian/vendor/symfony/error-handler/ErrorHandler.php :: Symfony\Component\HttpKernel\EventListener\{closure} (line 538)
  1.             $this->exceptionHandler null;
  2.         }
  3.         try {
  4.             if (null !== $exceptionHandler) {
  5.                 $exceptionHandler($exception);
  6.                 return;
  7.             }
  8.             $handlerException ??= $exception;
  9.         } catch (\Throwable $handlerException) {
ErrorHandler->handleException()

ValueError

unlink(): Argument #1 ($filename) must not contain any null bytes

  1.             if ($csvTime >= $minimalProfileTimestamp) {
  2.                 break;
  3.             }
  4.             @unlink($this->getFilename($csvToken));
  5.             $offset += \strlen($line);
  6.         }
  7.         fclose($handle);
  8.         file_put_contents($file.'.offset'$offset);
  1.             if ($csvTime >= $minimalProfileTimestamp) {
  2.                 break;
  3.             }
  4.             @unlink($this->getFilename($csvToken));
  5.             $offset += \strlen($line);
  6.         }
  7.         fclose($handle);
  8.         file_put_contents($file.'.offset'$offset);
  1.                 $profile->getVirtualType() ?? 'request',
  2.             ], ',''"''\\');
  3.             fclose($file);
  4.             if (=== mt_rand(110)) {
  5.                 $this->removeExpiredProfiles();
  6.             }
  7.         }
  8.         return true;
  9.     }
  1.             if ($collector instanceof LateDataCollectorInterface) {
  2.                 $collector->lateCollect();
  3.             }
  4.         }
  5.         if (!($ret $this->storage->write($profile)) && null !== $this->logger) {
  6.             $this->logger->warning('Unable to store the profiler information.', ['configured_storage' => $this->storage::class]);
  7.         }
  8.         return $ret;
  9.     }
  1.             }
  2.         }
  3.         // save profiles
  4.         foreach ($this->profiles as $request) {
  5.             $this->profiler->saveProfile($this->profiles[$request]);
  6.         }
  7.         $this->profiles = new \SplObjectStorage();
  8.         $this->parents = new \SplObjectStorage();
  9.     }
  1.         $this->priority ??= $dispatcher->getListenerPriority($eventName$this->listener);
  2.         $e $this->stopwatch->start($this->name'event_listener');
  3.         try {
  4.             ($this->optimizedListener ?? $this->listener)($event$eventName$dispatcher);
  5.         } finally {
  6.             if ($e->isStarted()) {
  7.                 $e->stop();
  8.             }
  9.         }
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.         try {
  2.             $this->beforeDispatch($eventName$event);
  3.             try {
  4.                 $e $this->stopwatch->start($eventName'section');
  5.                 try {
  6.                     $this->dispatcher->dispatch($event$eventName);
  7.                 } finally {
  8.                     if ($e->isStarted()) {
  9.                         $e->stop();
  10.                     }
  11.                 }
  1.     public function terminate(Request $requestResponse $response): void
  2.     {
  3.         try {
  4.             $this->terminating true;
  5.             $this->dispatcher->dispatch(new TerminateEvent($this$request$response), KernelEvents::TERMINATE);
  6.         } finally {
  7.             $this->terminating false;
  8.         }
  9.     }
  1.         if (false === $this->booted) {
  2.             return;
  3.         }
  4.         if ($this->getHttpKernel() instanceof TerminableInterface) {
  5.             $this->getHttpKernel()->terminate($request$response);
  6.         }
  7.     }
  8.     public function shutdown(): void
  9.     {
  1.         } else {
  2.             $response->send();
  3.         }
  4.         if ($this->kernel instanceof TerminableInterface) {
  5.             $this->kernel->terminate($this->request$response);
  6.         }
  7.         return 0;
  8.     }
  9. }
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/var/www/canadian/vendor/autoload_runtime.php') in /var/www/canadian/public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Stack Traces 2

[2/2] RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/var/www/canadian/vendor/symfony/http-foundation/Response.php" at line 382.

  at /var/www/canadian/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:116
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
     (/var/www/canadian/vendor/symfony/http-foundation/Session/Session.php:59)
  at Symfony\Component\HttpFoundation\Session\Session->start()
     (/var/www/canadian/src/EventListener/RequestListener.php:239)
  at App\EventListener\RequestListener->onKernelRequest()
     (/var/www/canadian/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
     (/var/www/canadian/vendor/symfony/event-dispatcher/EventDispatcher.php:206)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
     (/var/www/canadian/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
     (/var/www/canadian/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
     (/var/www/canadian/vendor/symfony/http-kernel/HttpKernel.php:159)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (/var/www/canadian/vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (/var/www/canadian/vendor/symfony/http-kernel/EventListener/ErrorListener.php:99)
  at Symfony\Component\HttpKernel\EventListener\ErrorListener->onKernelException()
     (/var/www/canadian/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
     (/var/www/canadian/vendor/symfony/event-dispatcher/EventDispatcher.php:206)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
     (/var/www/canadian/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
     (/var/www/canadian/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
     (/var/www/canadian/vendor/symfony/http-kernel/HttpKernel.php:241)
  at Symfony\Component\HttpKernel\HttpKernel->handleThrowable()
     (/var/www/canadian/vendor/symfony/http-kernel/HttpKernel.php:134)
  at Symfony\Component\HttpKernel\HttpKernel->terminateWithException()
     (/var/www/canadian/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php:84)
  at Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::Symfony\Component\HttpKernel\EventListener\{closure}()
     (/var/www/canadian/vendor/symfony/error-handler/ErrorHandler.php:538)
  at Symfony\Component\ErrorHandler\ErrorHandler->handleException()                
[1/2] ValueError
ValueError:
unlink(): Argument #1 ($filename) must not contain any null bytes

  at /var/www/canadian/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php:341
  at unlink()
     (/var/www/canadian/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php:341)
  at Symfony\Component\HttpKernel\Profiler\FileProfilerStorage->removeExpiredProfiles()
     (/var/www/canadian/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php:193)
  at Symfony\Component\HttpKernel\Profiler\FileProfilerStorage->write()
     (/var/www/canadian/vendor/symfony/http-kernel/Profiler/Profiler.php:97)
  at Symfony\Component\HttpKernel\Profiler\Profiler->saveProfile()
     (/var/www/canadian/vendor/symfony/http-kernel/EventListener/ProfilerListener.php:129)
  at Symfony\Component\HttpKernel\EventListener\ProfilerListener->onKernelTerminate()
     (/var/www/canadian/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
     (/var/www/canadian/vendor/symfony/event-dispatcher/EventDispatcher.php:206)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
     (/var/www/canadian/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
     (/var/www/canadian/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
     (/var/www/canadian/vendor/symfony/http-kernel/HttpKernel.php:114)
  at Symfony\Component\HttpKernel\HttpKernel->terminate()
     (/var/www/canadian/vendor/symfony/http-kernel/Kernel.php:145)
  at Symfony\Component\HttpKernel\Kernel->terminate()
     (/var/www/canadian/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:53)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (/var/www/canadian/vendor/autoload_runtime.php:29)
  at require_once('/var/www/canadian/vendor/autoload_runtime.php')
     (/var/www/canadian/public/index.php:5)