【问题标题】:How fix the error Exception when execute yii migrate?执行yii migrate时如何修复错误异常?
【发布时间】:2018-12-22 04:36:35
【问题描述】:

我尝试在 ubuntu 18.04 中使用 docker 运行 yii2 基本项目。这是我的 docker-compose.yml:

version: '2'
services:
  php:
    image: yiisoftware/yii2-php:7.1-apache
    volumes:
      - ~/projects/basic/.composer-docker/cache:/root/.composer/cache:delegated
      - ./:/app:delegated
    ports:
      - 8000:80
    links:
      - mysql

  mysql:
   image: mysql:5.7
   volumes:
      - ~/projects/basic/.composer-docker/mysql:/var/lib/mysql
   environment:
      - "MYSQL_ROOT_PASSWORD=secret"
      - "MYSQL_USER=app"
      - "MYSQL_PASSWORD=secret"
      - "MYSQL_DATABASE=app"
   ports:
    - '33061:3306' 

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    restart: always
    environment:
      PMA_HOST: mysql
      MYSQL_USERNAME: app
      MYSQL_ROOT_PASSWORD: secret
  ports:
    - 8080:80
  volumes:
    - /sessions
  links:
    - 'mysql:mysql'

这是 config/db.php:

return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=app',
'username' => 'app',
'password' => 'secret',
'charset' => 'utf8',

我使用与 yii2 高级版中相同的文件夹控制台/迁移。 当我运行命令 ./yii migrate 时,出现错误“Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] Connection denied'”。在另一种情况下,当 host=mysql 出现错误“异常 'yii\db\Exception' 并带有消息 'SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known'”。 我做错了什么?

【问题讨论】:

    标签: docker yii2 docker-compose yii2-basic-app


    【解决方案1】:

    在使用 docker-compose 时,您的主机将由服务名称引用。 所以在你的情况下你会有host=mysql,而不是host=127.0.0.1

    如果你运行 docker-compose,不同的服务就像不同的主机。您在 php(服务名称)应用程序中运行 Web 应用程序,该应用程序将数据库服务连接到 mysql(服务名称)应用程序

    【讨论】:

    • 谢谢,我不知道为什么会出现带有消息“SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known”的异常 'yii\db\Exception'我使用 host=mysql 以及如何修复它。
    • 我设置了 host=mysql,但创建迁移不起作用
    猜你喜欢
    • 2021-07-24
    • 2020-01-05
    • 2021-08-19
    • 1970-01-01
    • 2019-09-23
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多