我正在尝试运行一个包含pg_connect($ connection_string)的PHP脚本,它只会崩溃我的PHP脚本。我在计算机上运行xampp,这里有一些事实:
如果我删除此退出语句,pg_connect语句就会挂起。没有显示或记录警告,它甚至从未通过函数调用。我甚至有:
$ db_crm = pg_connect($ connection_str);
如果(!$ db_crm)死亡(“连接失败”);
甚至从未显示“连接失败”。我的浏览器只是在超时后显示“此页面无法显示”。
世界上有什么可能造成这种情况?
答案 0 :(得分:1)
令人怀疑的是这个调用是在崩溃PHP。更有可能的是,由于某种原因,呼叫因某种原因而挂起,并且超出了PHP的最大执行时间。在进行pg_connect()调用之前You can try extending the time limit查看它是否最终会返回某些内容。
答案 1 :(得分:0)
在您的配置中,设置
log_min_error_statement (DEBUG5)
抓住一切可能。
答案 2 :(得分:0)
这是男人们: 我没有理由,但在我的连接字符串末尾添加sslmode = disable使它工作。它崩溃的原因是什么?我在Windows机器上,phpinfo()表示OpenSSL已启用..
答案 3 :(得分:0)
这听起来真的很愚蠢,但你的服务器是否在SSL下运行?我遇到过服务器尝试对ssl进行身份验证并无限期挂起,尝试连接到不存在的端口的问题。
答案 4 :(得分:0)
sslmode = disable为我做了诀窍。在postgres-config中禁用ssl(ssl = false)也有效。
答案 5 :(得分:0)
对我来说,Apache日志显示PHP没有找到pg_connect()函数,即使安装了php-postgresql。重新启动Apache修复此问题,即
sudo service httpd restart