Vagrant box 无法通过 127.0.0.1 与 Mac 上的 mysql 通信

Vagrant box 无法通过 127.0.0.1 与 Mac 上的 mysql 通信

我正在运行一个 vagrant box 来托管本地站点。重要的是,mysql 服务器在 Mac 上运行,而不是在 VM 上运行。当我设置站点配置文件以使用时,localhost站点加载正常,但我无法drush从 Mac 端运行(Drupal 命令行实用程序)。如果我将站点配置更改为通过 127.0.0.1 连接,我可以运行drush,但最终会出现 SQL 错误PDOException: SQLSTATE[HY000] [2003]

dscacheutil -q host -a name localhost从Mac端运行,得到了预期的结果:

name: localhost
ip_address: 127.0.0.1

当我在虚拟机端运行时,hostname --ip-address我得到了127.0.0.1

我猜这可能是 Drupal 的问题,但它看起来更像是 VM/Mac 的问题,所以我在这里发帖。

答案1

幸运的是,一个以 Drupal 为中心的解决方案可以从以下方面发挥作用:https://www.drupal.org/node/1428638

'host' => php_sapi_name() == 'cli' ? '127.0.0.1' : 'localhost',

在那篇文章中,提到了网络套接字与 Unix 套接字。我很想得到一些关于这是什么意思的参考或解释。与此同时,这是一个可用的站点修复程序。

相关内容