📅  最后修改于: 2023-12-03 14:48:15.764000             🧑  作者: Mango
如果你在使用 Vagrant 和 PHP 进行开发,可能会遇到以下错误:
SQLSTATE[08006] [7] FATAL: no pg_hba.conf entry for host "192.168.0.1", user "vagrant", database "mydb", SSL off
这个错误通常发生在尝试连接 PostgreSQL 数据库时。 这是因为默认情况下,PostgreSQL 只允许来自本地主机的连接。
要解决这个问题,你需要更新 pg_hba.conf 文件,允许来自你的 Vagrant 虚拟机 IP 的连接。
# 虚拟机 IP 地址,用于访问 PostgreSQL 服务器
db_host = "192.168.50.4"
# 更新 pg_hba.conf 文件
config.vm.provision "shell",
inline: "sudo sed -i 's/host\\s*all\\s*all\\s*127.0.0.1\\/32\\s*md5/host\\tall\\tall\\t#{db_host}\\/32\\t\\tmd5/g' /etc/postgresql/9.5/main/pg_hba.conf && sudo service postgresql restart",
run: "always"
$ vagrant up
这个命令将更新 pg_hba.conf 文件并重启 PostgreSQL 服务器。现在你应该能够从你的 Vagrant 虚拟机连接到 PostgreSQL 数据库。
如果你在使用 Vagrant 和 PHP 进行开发,并遇到了 "no pg_hba.conf entry for host" 错误,那么你需要更新 pg_hba.conf 文件,允许来自你的 Vagrant 虚拟机 IP 的连接。通过简单的步骤,你可以轻松地解决这个问题并恢复正常的开发流程。