我正在运行一个 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 套接字。我很想得到一些关于这是什么意思的参考或解释。与此同时,这是一个可用的站点修复程序。