我有一个带有apache2的debian wheezy服务器。该数据库是一个docker容器 - 标准postgres:9.1,端口5432暴露给localhost:5434,数据文件夹位于通过-v选项连接的自己的容器中。
数据容器
docker run --name db-data -v / data -e PGDATA = / data -it --entrypoint / bin / bash postgres:9.1
数据库容器
docker run -d --name db -e POSTGRES_USER = name -e POSTGRES_PASSWORD = pwd -e PGDATA = / data -p 5434:5432 - volume-from db-data postgres:9.1
我使用一个简单的PHP脚本来测试连接:
$db = pg_connect("host=localhost port=5434 dbname=name user=name password=pwd connect_timeout=5");
if ($db) {
echo pg_options($db);
} else {
echo "error";
}
当我通过php info.php
运行此脚本时,我在短暂的等待时间后出现以下错误:
PHP警告:pg_connect():无法连接到PostgreSQL服务器:超时在第2行的/var/www/start/info.php中过期
nmap -p 5434 localhost
返回,此端口已打开。php5-pgsql
。我真的很感激任何意见!