php – 无法看到mysql数据库时,composer安装失败

前端之家收集整理的这篇文章主要介绍了php – 无法看到mysql数据库时,composer安装失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

TL; DR:当安装后脚本无法看到MySQL服务器时,composer安装失败

我正在为Symfony应用程序构建一个docker容器,在构建期间我会做这样的事情

  1. RUN export SYMFONY_ENV=prod && \
  2. composer install --prefer-dist --optimize-autoloader

在安装结束时,它失败了

  1. Generating optimized autoload files
  2. [Doctrine\DBAL\Exception\DriverException]
  3. An exception occured in driver: sqlSTATE[HY000] [2003] Can't connect to MysqL server on '127.0.0.1' (111)
  4. [Doctrine\DBAL\Driver\PDOException]
  5. sqlSTATE[HY000] [2003] Can't connect to MysqL server on '127.0.0.1' (111)
  6. [PDOException]
  7. sqlSTATE[HY000] [2003] Can't connect to MysqL server on '127.0.0.1' (111)
  8. Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception
  9. [RuntimeException]
  10. An error occurred when executing the "'cache:clear --no-warmup'" command.

现在,我可以使用–no-scripts但是大概我需要在启动容器后再次运行composer install,并且我希望我的容器尽可能准备好.

由于我没有找到很多类似问题的引用,我的应用程序中可能存在一些错误,我怀疑我会回答我自己的问题.我希望在描述它时,我会弄明白.唉,我没有.欢迎提供线索:)

Doctrine引入了一些代码,这些代码试图非常热切地自动检测数据库内容.

解决方法只是告诉Doctrine目标服务器版本,例如:

  1. doctrine:
  2. dbal:
  3. default_connection: default
  4. connections:
  5. default:
  6. dbname: Symfony2
  7. user: root
  8. password: null
  9. host: localhost
  10. driver: pdo_MysqL
  11. server_version: 5.6

https://github.com/doctrine/DoctrineBundle/issues/351#issuecomment-75456547

猜你在找的Docker相关文章