[英]Cannot connect to postgresql via php pdo on docker-compose
[英]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.