Почему symfony2 при чистке кеша лезет в базу?

Всем привет!
Такая проблема: заворачиваю проект в docker, mysql там нет, в post-install composer есть строчка-
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache"
при выполнении выдает
PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)' in /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43
Stack trace:
#0 /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(43): PDO->__construct('mysql:host=127....', 'root', NULL, Array)
#1 /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php(45): Doctrine\DBAL\Driver\PDOConnection->__construct('mysql:host=127....', 'root', NULL, Array)
#2 /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(360): Doctrine\DBAL\Driver\PDOMySql\Driver->connect(Array, 'root', NULL, Array)
#3 /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): Doctrine\DBAL\Connection->connect()
#4 /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#5 /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#6 / in /build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php on line 115
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception



  [RuntimeException]
  An error occurred when executing the "'cache:clear --no-warmup'" command.

можно ли как нибудь обойтись без установки mysql и выпиливания доктрины?
  • Вопрос задан
  • 621 просмотр
Пригласить эксперта
Ответы на вопрос 2
lexxpavlov
@lexxpavlov
Программист, преподаватель
При запуске консольной команды запускается ядро (kernel), который парсит параметры из config.yml и инициализирует бандлы. Бандл доктрины при этом присоединяется к БД. Можно ли что-то с этим сделать, я не знаю.
Может, выходом будет сделать свой собственный уровень окружения (environment), в котором не добавлять бандл доктрины, и запускать это окружение при вызове консольной команды.
Ответ написан
Комментировать
@khaliullov
всё проще, как только в конфиге указываешь
server_version: 9.5
.
например:
# Doctrine Configuration
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
server_version: 9.5

это для PSQL, для MySQL надо что-то типа 5.6 указать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы