【问题标题】:SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not knownSQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename or servname provided, or not known
【发布时间】:2016-01-20 12:01:25
【问题描述】:

我在运行php artisan migrate时保留它

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename or servname provided, or not known

我的环境

  • Laravel 框架版本 5.1.20 (LTS)
  • Laravel 安装程序版本 1.2.0
  • PHP 5.6.14 (cli)(构建时间:2015 年 10 月 2 日 08:55:56)
  • mysql Ver 14.14 Distrib 5.6.24,适用于 osx10.10 (x86_64)

.env 文件

APP_ENV=local
APP_URL=http://localhost/
APP_DEBUG=true
APP_KEY=****

DB_HOST=http://localhost/
DB_DATABASE=name-local
DB_USERNAME=root
DB_PASSWORD=
UNIX_SOCKET = /tmp/mysql.sock

那个数据库name-local 存在于我的本地数据库中。

任何提示/建议都会对我有很大帮助。

【问题讨论】:

    标签: php mysql laravel laravel-5 migration


    【解决方案1】:

    在您的.env 文件中检查您的DB_HOST

    DB_HOST=http://localhost/ --> DB_HOST=localhost


    结果:

    我现在可以和平迁移了。

    php artisan migrate
    Migration table created successfully.
    Migrated: 2014_10_12_000000_create_users_table
    

    【讨论】:

    • 只是评论如果其他人也落在这里,我的问题是我的 MySQL 主机服务器已关闭。注意这一点。这也可能是原因。
    【解决方案2】:

    设置DB_HOST=localhost并运行以下工匠命令

    php artisan config:clear会帮你,清除缓存配置

    【讨论】:

      【解决方案3】:

      我终于弄清楚是什么导致了我这个错误。我正在使用 docker,但我没有从容器中的 shell 运行 php artisan migrate。导航到 laravel 项目文件夹后,我只是在终端中运行它。 转到您的 docker 仪表板并为您的项目映像中的 laravel 容器启动 CLI。然后运行迁移命令。

      【讨论】:

      • 这个答案对我有帮助!谢谢!
      • 这有帮助!但是,您能否解释一下为什么它可以在 Container CLI 而不是 WSL 终端上运行? (我对 Sail / Docker 很陌生。我通常使用 Laragon)
      【解决方案4】:

      如果您使用sail,您也可能会收到此错误,并且您运行 php artisan migrate 而不是:

      sail artisan migrate

      【讨论】:

      • 或者你应该以./vessel artisan migrate运行迁移的容器包
      【解决方案5】:

      如果您使用 docker,请先使用 docker ps 命令找到您的 docker 容器,然后使用此命令从您的容器中执行 php artisan migrate 命令

      docker exec -it {containerId} 
      

      狂欢

      【讨论】:

        【解决方案6】:

        我在从 DDEV 运行 Laravel 时遇到了同样的问题。

        解决方案:在 DDEV 容器中运行“php artisan migrate”。

        user@ddev-project:  ddev ssh
        
        user@ddev-project:/var/www/html$ php artisan migrate
        

        这应该可以解决问题。

        【讨论】:

          【解决方案7】:

          全新安装后,在 laravel 8.x 上遇到了同样的问题。设置DB_HOST=0.0.0.0 为我修复了它。

          之后记得运行php artisan config:clear

          【讨论】:

            【解决方案8】:

            您可以将SESSION_DRIVER 更改为file。为我工作。

            【讨论】:

            • 这对从命令行运行迁移时配置错误的数据库连接有何帮助?
            猜你喜欢
            • 2016-03-20
            • 1970-01-01
            • 2019-12-18
            • 1970-01-01
            • 1970-01-01
            • 2016-01-24
            • 2013-06-13
            • 2020-01-23
            相关资源
            最近更新 更多