Error 500 Internal Server Error

GET https://saveurs.testaimpros.com/api/products

Forwarded to ErrorController (f40809)

Exceptions

An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused

Exceptions 3

Doctrine\DBAL\Exception\ ConnectionException

Show exception properties
Doctrine\DBAL\Exception\ConnectionException {#839
  -query: null
}
  1. 1227,
  2. 1370,
  3. 1429,
  4. 2002,
  5. 2005,
  6. 2054 => new ConnectionException($exception, $query),
  7. 2006,
  8. 4031 => new ConnectionLost($exception, $query),
  9. 1048,
  10. 1121,
  11. 1138,
  1. private function handleDriverException(
  2. Driver\Exception $driverException,
  3. ?Query $query,
  4. ): DriverException {
  5. $this->exceptionConverter ??= $this->driver->getExceptionConverter();
  6. $exception = $this->exceptionConverter->convert($driverException, $query);
  7. if ($exception instanceof ConnectionLost) {
  8. $this->close();
  9. }
in vendor/doctrine/dbal/src/Connection.php -> handleDriverException (line 1402)
  1. }
  2. /** @internal */
  3. final public function convertException(Driver\Exception $e): DriverException
  4. {
  5. return $this->handleDriverException($e, null);
  6. }
  7. /**
  8. * @param list<mixed>|array<string, mixed> $params
  9. * @phpstan-param WrapperParameterTypeArray $types
in vendor/doctrine/dbal/src/Connection.php -> convertException (line 224)
  1. }
  2. try {
  3. $connection = $this->_conn = $this->driver->connect($this->params);
  4. } catch (Driver\Exception $e) {
  5. throw $this->convertException($e);
  6. }
  7. if ($this->autoCommit === false) {
  8. $this->beginTransaction();
  9. }
  1. ): Result {
  2. if ($qcp !== null) {
  3. return $this->executeCacheQuery($sql, $params, $types, $qcp);
  4. }
  5. $connection = $this->connect();
  6. try {
  7. if (count($params) > 0) {
  8. [$sql, $params, $types] = $this->expandArrayParameters($sql, $params, $types);
  1. ): array {
  2. $this->switchPersisterContext($offset, $limit);
  3. $sql = $this->getSelectSQL($criteria, null, null, $limit, $offset, $orderBy);
  4. [$params, $types] = $this->expandParameters($criteria);
  5. $stmt = $this->conn->executeQuery($sql, $params, $types);
  6. $hydrator = $this->em->newHydrator($this->currentPersisterContext->selectJoinSql ? Query::HYDRATE_OBJECT : Query::HYDRATE_SIMPLEOBJECT);
  7. return $hydrator->hydrateAll($stmt, $this->currentPersisterContext->rsm, [UnitOfWork::HINT_DEFEREAGERLOAD => true]);
  8. }
  1. */
  2. public function findBy(array $criteria, array|null $orderBy = null, int|null $limit = null, int|null $offset = null): array
  3. {
  4. $persister = $this->em->getUnitOfWork()->getEntityPersister($this->entityName);
  5. return $persister->loadAll($criteria, $orderBy, $limit, $offset);
  6. }
  7. /**
  8. * Finds a single entity by a set of criteria.
  9. *
  1. * @psalm-suppress InvalidReturnType This proxy is used only in combination with newer parent class
  2. */
  3. public function findBy(array $criteria, array|null $orderBy = null, int|null $limit = null, int|null $offset = null): array
  4. {
  5. return ($this->repository ??= $this->resolveRepository())
  6. ->findBy($criteria, $orderBy, $limit, $offset);
  7. }
  8. /** {@inheritDoc} */
  9. public function findOneBy(array $criteria, array|null $orderBy = null): object|null
  10. {
  1. *
  2. * @phpstan-return list<T> The entities.
  3. */
  4. public function findAll(): array
  5. {
  6. return $this->findBy([]);
  7. }
  8. /**
  9. * Finds entities by a set of criteria.
  10. *
EntityRepository->findAll() in src/Controller/Api/ProductController.php (line 17)
  1. class ProductController extends AbstractController
  2. {
  3. #[Route('/products', name: 'products', methods: ['GET'])]
  4. public function index(ProductRepository $productRepository): JsonResponse
  5. {
  6. $products = $productRepository->findAll();
  7. $data = [];
  8. foreach ($products as $product) {
  9. $data[] = [
  10. 'id' => $product->getId(),
  1. $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2. $controller = $event->getController();
  3. $arguments = $event->getArguments();
  4. // call controller
  5. $response = $controller(...$arguments);
  6. // view
  7. if (!$response instanceof Response) {
  8. $event = new ViewEvent($this, $request, $type, $response, $event);
  9. $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  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. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  4. try {
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. } finally {
  7. --$this->requestStackSize;
  8. }
  9. }
  1. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/home/testaimp/web/saveurs/www/vendor/autoload_runtime.php') in 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. };

Doctrine\DBAL\Driver\PDO\ Exception

SQLSTATE[HY000] [2002] Connection refused

  1. } else {
  2. $code = $exception->getCode();
  3. $sqlState = null;
  4. }
  5. return new self($exception->getMessage(), $sqlState, $code, $exception);
  6. }
  7. }
  1. $params['user'] ?? '',
  2. $params['password'] ?? '',
  3. $driverOptions,
  4. );
  5. } catch (PDOException $exception) {
  6. throw Exception::new($exception);
  7. }
  8. return new Connection($pdo);
  9. }
  1. */
  2. public function connect(
  3. #[SensitiveParameter]
  4. array $params,
  5. ): DriverConnection {
  6. return $this->wrappedDriver->connect($params);
  7. }
  8. public function getDatabasePlatform(ServerVersionProvider $versionProvider): AbstractPlatform
  9. {
  10. return $this->wrappedDriver->getDatabasePlatform($versionProvider);
  1. array $params,
  2. ): Connection {
  3. $this->logger->info('Connecting with parameters {params}', ['params' => $this->maskPassword($params)]);
  4. return new Connection(
  5. parent::connect($params),
  6. $this->logger,
  7. );
  8. }
  9. /**
  1. */
  2. public function connect(
  3. #[SensitiveParameter]
  4. array $params,
  5. ): DriverConnection {
  6. return $this->wrappedDriver->connect($params);
  7. }
  8. public function getDatabasePlatform(ServerVersionProvider $versionProvider): AbstractPlatform
  9. {
  10. return $this->wrappedDriver->getDatabasePlatform($versionProvider);
  1. parent::__construct($driver);
  2. }
  3. public function connect(array $params): ConnectionInterface
  4. {
  5. $connection = parent::connect($params);
  6. if ('void' !== (string) (new \ReflectionMethod(ConnectionInterface::class, 'commit'))->getReturnType()) {
  7. return new DBAL3\Connection(
  8. $connection,
  9. $this->debugDataHolder,
  1. */
  2. public function connect(
  3. #[SensitiveParameter]
  4. array $params,
  5. ): DriverConnection {
  6. return $this->wrappedDriver->connect($params);
  7. }
  8. public function getDatabasePlatform(ServerVersionProvider $versionProvider): AbstractPlatform
  9. {
  10. return $this->wrappedDriver->getDatabasePlatform($versionProvider);
  1. }
  2. public function connect(array $params): ConnectionInterface
  3. {
  4. $timestamp = time();
  5. $connection = parent::connect($params);
  6. $this->connectionExpiries[$this->connectionName] = $timestamp + $this->ttl;
  7. return $connection;
  8. }
  9. }
  1. if ($this->_conn !== null) {
  2. return $this->_conn;
  3. }
  4. try {
  5. $connection = $this->_conn = $this->driver->connect($this->params);
  6. } catch (Driver\Exception $e) {
  7. throw $this->convertException($e);
  8. }
  9. if ($this->autoCommit === false) {
  1. ): Result {
  2. if ($qcp !== null) {
  3. return $this->executeCacheQuery($sql, $params, $types, $qcp);
  4. }
  5. $connection = $this->connect();
  6. try {
  7. if (count($params) > 0) {
  8. [$sql, $params, $types] = $this->expandArrayParameters($sql, $params, $types);
  1. ): array {
  2. $this->switchPersisterContext($offset, $limit);
  3. $sql = $this->getSelectSQL($criteria, null, null, $limit, $offset, $orderBy);
  4. [$params, $types] = $this->expandParameters($criteria);
  5. $stmt = $this->conn->executeQuery($sql, $params, $types);
  6. $hydrator = $this->em->newHydrator($this->currentPersisterContext->selectJoinSql ? Query::HYDRATE_OBJECT : Query::HYDRATE_SIMPLEOBJECT);
  7. return $hydrator->hydrateAll($stmt, $this->currentPersisterContext->rsm, [UnitOfWork::HINT_DEFEREAGERLOAD => true]);
  8. }
  1. */
  2. public function findBy(array $criteria, array|null $orderBy = null, int|null $limit = null, int|null $offset = null): array
  3. {
  4. $persister = $this->em->getUnitOfWork()->getEntityPersister($this->entityName);
  5. return $persister->loadAll($criteria, $orderBy, $limit, $offset);
  6. }
  7. /**
  8. * Finds a single entity by a set of criteria.
  9. *
  1. * @psalm-suppress InvalidReturnType This proxy is used only in combination with newer parent class
  2. */
  3. public function findBy(array $criteria, array|null $orderBy = null, int|null $limit = null, int|null $offset = null): array
  4. {
  5. return ($this->repository ??= $this->resolveRepository())
  6. ->findBy($criteria, $orderBy, $limit, $offset);
  7. }
  8. /** {@inheritDoc} */
  9. public function findOneBy(array $criteria, array|null $orderBy = null): object|null
  10. {
  1. *
  2. * @phpstan-return list<T> The entities.
  3. */
  4. public function findAll(): array
  5. {
  6. return $this->findBy([]);
  7. }
  8. /**
  9. * Finds entities by a set of criteria.
  10. *
EntityRepository->findAll() in src/Controller/Api/ProductController.php (line 17)
  1. class ProductController extends AbstractController
  2. {
  3. #[Route('/products', name: 'products', methods: ['GET'])]
  4. public function index(ProductRepository $productRepository): JsonResponse
  5. {
  6. $products = $productRepository->findAll();
  7. $data = [];
  8. foreach ($products as $product) {
  9. $data[] = [
  10. 'id' => $product->getId(),
  1. $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2. $controller = $event->getController();
  3. $arguments = $event->getArguments();
  4. // call controller
  5. $response = $controller(...$arguments);
  6. // view
  7. if (!$response instanceof Response) {
  8. $event = new ViewEvent($this, $request, $type, $response, $event);
  9. $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  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. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  4. try {
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. } finally {
  7. --$this->requestStackSize;
  8. }
  9. }
  1. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/home/testaimp/web/saveurs/www/vendor/autoload_runtime.php') in 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. };

PDOException

SQLSTATE[HY000] [2002] Connection refused

  1. #[SensitiveParameter]
  2. string $password,
  3. array $options,
  4. ): PDO {
  5. if (PHP_VERSION_ID < 80400) {
  6. return new PDO($dsn, $username, $password, $options);
  7. }
  8. return PDO::connect($dsn, $username, $password, $options);
  9. }
  10. }
  1. #[SensitiveParameter]
  2. string $password,
  3. array $options,
  4. ): PDO {
  5. if (PHP_VERSION_ID < 80400) {
  6. return new PDO($dsn, $username, $password, $options);
  7. }
  8. return PDO::connect($dsn, $username, $password, $options);
  9. }
  10. }
  1. $safeParams = $params;
  2. unset($safeParams['password']);
  3. try {
  4. $pdo = $this->doConnect(
  5. $this->constructPdoDsn($safeParams),
  6. $params['user'] ?? '',
  7. $params['password'] ?? '',
  8. $driverOptions,
  9. );
  1. */
  2. public function connect(
  3. #[SensitiveParameter]
  4. array $params,
  5. ): DriverConnection {
  6. return $this->wrappedDriver->connect($params);
  7. }
  8. public function getDatabasePlatform(ServerVersionProvider $versionProvider): AbstractPlatform
  9. {
  10. return $this->wrappedDriver->getDatabasePlatform($versionProvider);
  1. array $params,
  2. ): Connection {
  3. $this->logger->info('Connecting with parameters {params}', ['params' => $this->maskPassword($params)]);
  4. return new Connection(
  5. parent::connect($params),
  6. $this->logger,
  7. );
  8. }
  9. /**
  1. */
  2. public function connect(
  3. #[SensitiveParameter]
  4. array $params,
  5. ): DriverConnection {
  6. return $this->wrappedDriver->connect($params);
  7. }
  8. public function getDatabasePlatform(ServerVersionProvider $versionProvider): AbstractPlatform
  9. {
  10. return $this->wrappedDriver->getDatabasePlatform($versionProvider);
  1. parent::__construct($driver);
  2. }
  3. public function connect(array $params): ConnectionInterface
  4. {
  5. $connection = parent::connect($params);
  6. if ('void' !== (string) (new \ReflectionMethod(ConnectionInterface::class, 'commit'))->getReturnType()) {
  7. return new DBAL3\Connection(
  8. $connection,
  9. $this->debugDataHolder,
  1. */
  2. public function connect(
  3. #[SensitiveParameter]
  4. array $params,
  5. ): DriverConnection {
  6. return $this->wrappedDriver->connect($params);
  7. }
  8. public function getDatabasePlatform(ServerVersionProvider $versionProvider): AbstractPlatform
  9. {
  10. return $this->wrappedDriver->getDatabasePlatform($versionProvider);
  1. }
  2. public function connect(array $params): ConnectionInterface
  3. {
  4. $timestamp = time();
  5. $connection = parent::connect($params);
  6. $this->connectionExpiries[$this->connectionName] = $timestamp + $this->ttl;
  7. return $connection;
  8. }
  9. }
  1. if ($this->_conn !== null) {
  2. return $this->_conn;
  3. }
  4. try {
  5. $connection = $this->_conn = $this->driver->connect($this->params);
  6. } catch (Driver\Exception $e) {
  7. throw $this->convertException($e);
  8. }
  9. if ($this->autoCommit === false) {
  1. ): Result {
  2. if ($qcp !== null) {
  3. return $this->executeCacheQuery($sql, $params, $types, $qcp);
  4. }
  5. $connection = $this->connect();
  6. try {
  7. if (count($params) > 0) {
  8. [$sql, $params, $types] = $this->expandArrayParameters($sql, $params, $types);
  1. ): array {
  2. $this->switchPersisterContext($offset, $limit);
  3. $sql = $this->getSelectSQL($criteria, null, null, $limit, $offset, $orderBy);
  4. [$params, $types] = $this->expandParameters($criteria);
  5. $stmt = $this->conn->executeQuery($sql, $params, $types);
  6. $hydrator = $this->em->newHydrator($this->currentPersisterContext->selectJoinSql ? Query::HYDRATE_OBJECT : Query::HYDRATE_SIMPLEOBJECT);
  7. return $hydrator->hydrateAll($stmt, $this->currentPersisterContext->rsm, [UnitOfWork::HINT_DEFEREAGERLOAD => true]);
  8. }
  1. */
  2. public function findBy(array $criteria, array|null $orderBy = null, int|null $limit = null, int|null $offset = null): array
  3. {
  4. $persister = $this->em->getUnitOfWork()->getEntityPersister($this->entityName);
  5. return $persister->loadAll($criteria, $orderBy, $limit, $offset);
  6. }
  7. /**
  8. * Finds a single entity by a set of criteria.
  9. *
  1. * @psalm-suppress InvalidReturnType This proxy is used only in combination with newer parent class
  2. */
  3. public function findBy(array $criteria, array|null $orderBy = null, int|null $limit = null, int|null $offset = null): array
  4. {
  5. return ($this->repository ??= $this->resolveRepository())
  6. ->findBy($criteria, $orderBy, $limit, $offset);
  7. }
  8. /** {@inheritDoc} */
  9. public function findOneBy(array $criteria, array|null $orderBy = null): object|null
  10. {
  1. *
  2. * @phpstan-return list<T> The entities.
  3. */
  4. public function findAll(): array
  5. {
  6. return $this->findBy([]);
  7. }
  8. /**
  9. * Finds entities by a set of criteria.
  10. *
EntityRepository->findAll() in src/Controller/Api/ProductController.php (line 17)
  1. class ProductController extends AbstractController
  2. {
  3. #[Route('/products', name: 'products', methods: ['GET'])]
  4. public function index(ProductRepository $productRepository): JsonResponse
  5. {
  6. $products = $productRepository->findAll();
  7. $data = [];
  8. foreach ($products as $product) {
  9. $data[] = [
  10. 'id' => $product->getId(),
  1. $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2. $controller = $event->getController();
  3. $arguments = $event->getArguments();
  4. // call controller
  5. $response = $controller(...$arguments);
  6. // view
  7. if (!$response instanceof Response) {
  8. $event = new ViewEvent($this, $request, $type, $response, $event);
  9. $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  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. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  4. try {
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. } finally {
  7. --$this->requestStackSize;
  8. }
  9. }
  1. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/home/testaimp/web/saveurs/www/vendor/autoload_runtime.php') in 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. };

Logs

Level Channel Message
INFO 15:44:52 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "latest"
    },
    "request_uri": "https://saveurs.testaimpros.com/_profiler/latest?type=request&url=https%3A%2F%2Fsaveurs.testaimpros.com%2Frobots.txt",
    "method": "GET"
}

Stack Traces 3

[3/3] ConnectionException
Doctrine\DBAL\Exception\ConnectionException:
An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused

  at vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:91
  at Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert()
     (vendor/doctrine/dbal/src/Connection.php:1460)
  at Doctrine\DBAL\Connection->handleDriverException()
     (vendor/doctrine/dbal/src/Connection.php:1402)
  at Doctrine\DBAL\Connection->convertException()
     (vendor/doctrine/dbal/src/Connection.php:224)
  at Doctrine\DBAL\Connection->connect()
     (vendor/doctrine/dbal/src/Connection.php:792)
  at Doctrine\DBAL\Connection->executeQuery()
     (vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:963)
  at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadAll()
     (vendor/doctrine/orm/src/EntityRepository.php:110)
  at Doctrine\ORM\EntityRepository->findBy()
     (vendor/doctrine/doctrine-bundle/src/Repository/ServiceEntityRepositoryProxy.php:73)
  at Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepositoryProxy->findBy()
     (vendor/doctrine/orm/src/EntityRepository.php:96)
  at Doctrine\ORM\EntityRepository->findAll()
     (src/Controller/Api/ProductController.php:17)
  at App\Controller\Api\ProductController->index()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:193)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:32)
  at require_once('/home/testaimp/web/saveurs/www/vendor/autoload_runtime.php')
     (public/index.php:5)                
[2/3] Exception
Doctrine\DBAL\Driver\PDO\Exception:
SQLSTATE[HY000] [2002] Connection refused

  at vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24
  at Doctrine\DBAL\Driver\PDO\Exception::new()
     (vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:52)
  at Doctrine\DBAL\Driver\PDO\MySQL\Driver->connect()
     (vendor/doctrine/dbal/src/Driver/Middleware/AbstractDriverMiddleware.php:27)
  at Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware->connect()
     (vendor/doctrine/dbal/src/Logging/Driver.php:30)
  at Doctrine\DBAL\Logging\Driver->connect()
     (vendor/doctrine/dbal/src/Driver/Middleware/AbstractDriverMiddleware.php:27)
  at Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware->connect()
     (vendor/symfony/doctrine-bridge/Middleware/Debug/Driver.php:37)
  at Symfony\Bridge\Doctrine\Middleware\Debug\Driver->connect()
     (vendor/doctrine/dbal/src/Driver/Middleware/AbstractDriverMiddleware.php:27)
  at Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware->connect()
     (vendor/symfony/doctrine-bridge/Middleware/IdleConnection/Driver.php:35)
  at Symfony\Bridge\Doctrine\Middleware\IdleConnection\Driver->connect()
     (vendor/doctrine/dbal/src/Connection.php:222)
  at Doctrine\DBAL\Connection->connect()
     (vendor/doctrine/dbal/src/Connection.php:792)
  at Doctrine\DBAL\Connection->executeQuery()
     (vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:963)
  at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadAll()
     (vendor/doctrine/orm/src/EntityRepository.php:110)
  at Doctrine\ORM\EntityRepository->findBy()
     (vendor/doctrine/doctrine-bundle/src/Repository/ServiceEntityRepositoryProxy.php:73)
  at Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepositoryProxy->findBy()
     (vendor/doctrine/orm/src/EntityRepository.php:96)
  at Doctrine\ORM\EntityRepository->findAll()
     (src/Controller/Api/ProductController.php:17)
  at App\Controller\Api\ProductController->index()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:193)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:32)
  at require_once('/home/testaimp/web/saveurs/www/vendor/autoload_runtime.php')
     (public/index.php:5)                
[1/3] PDOException
PDOException:
SQLSTATE[HY000] [2002] Connection refused

  at vendor/doctrine/dbal/src/Driver/PDO/PDOConnect.php:25
  at PDO->__construct()
     (vendor/doctrine/dbal/src/Driver/PDO/PDOConnect.php:25)
  at Doctrine\DBAL\Driver\PDO\MySQL\Driver->doConnect()
     (vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:45)
  at Doctrine\DBAL\Driver\PDO\MySQL\Driver->connect()
     (vendor/doctrine/dbal/src/Driver/Middleware/AbstractDriverMiddleware.php:27)
  at Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware->connect()
     (vendor/doctrine/dbal/src/Logging/Driver.php:30)
  at Doctrine\DBAL\Logging\Driver->connect()
     (vendor/doctrine/dbal/src/Driver/Middleware/AbstractDriverMiddleware.php:27)
  at Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware->connect()
     (vendor/symfony/doctrine-bridge/Middleware/Debug/Driver.php:37)
  at Symfony\Bridge\Doctrine\Middleware\Debug\Driver->connect()
     (vendor/doctrine/dbal/src/Driver/Middleware/AbstractDriverMiddleware.php:27)
  at Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware->connect()
     (vendor/symfony/doctrine-bridge/Middleware/IdleConnection/Driver.php:35)
  at Symfony\Bridge\Doctrine\Middleware\IdleConnection\Driver->connect()
     (vendor/doctrine/dbal/src/Connection.php:222)
  at Doctrine\DBAL\Connection->connect()
     (vendor/doctrine/dbal/src/Connection.php:792)
  at Doctrine\DBAL\Connection->executeQuery()
     (vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:963)
  at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadAll()
     (vendor/doctrine/orm/src/EntityRepository.php:110)
  at Doctrine\ORM\EntityRepository->findBy()
     (vendor/doctrine/doctrine-bundle/src/Repository/ServiceEntityRepositoryProxy.php:73)
  at Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepositoryProxy->findBy()
     (vendor/doctrine/orm/src/EntityRepository.php:96)
  at Doctrine\ORM\EntityRepository->findAll()
     (src/Controller/Api/ProductController.php:17)
  at App\Controller\Api\ProductController->index()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:193)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:32)
  at require_once('/home/testaimp/web/saveurs/www/vendor/autoload_runtime.php')
     (public/index.php:5)