簡體   English   中英

無法通過PHP連接到Docker中的PostgreSQL

[英]Cannot connect to PostgreSQL in Docker through PHP

我無法用PHP代碼連接到PostgreSQL。 我的Postgresql是docker容器。 我得到一個IP:

docker inspect toshi_db_1

我是如何嘗試連接的:

$dbconn = pg_connect("host=172.17.0.2 port=5432 dbname=toshi_development")or die("Could not connect");

錯誤 :警告:pg_connect():無法連接到PostgreSQL服務器:無法連接到服務器:連接超時(0x0000274C / 10060)服務器是否在主機“172.17.0.2”上運行並接受端口5432上的TCP / IP連接?

我認為PostgreSQL.conf中可能存在listen_address配置參數的問題,但它允許所有連接,所以我不知道問題出在哪里。

更新 :我自己修復了它,只是試圖在docker-compose文件中暴露錯誤的端口。

我今天也遇到了同樣的情況。 解決方案是使用容器的名稱替換localhost端口。 喜歡:

$dbconn = pg_connect("host=toshi_db_1 port=5432 dbname=toshi_development")or die("Could not connect");

不確定它是否應與IP相同。 但IP不會改變嗎?

所以,對於其他人看到這篇文章:記住127.0.0.1始終指向當前容器。 因此,您必須用容器名稱替換“localhost”部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM