设置:Windows 10 上的 PostgreSQL;PHP7 在 PowerShell 中或通过 Windows 上的 Bash (WSL) 运行 Symfony3 应用程序 (存根)。除了 Windows 自己的防病毒软件或防火墙外,我没有其他防病毒软件或防火墙。
错误:我在 Web 应用程序中执行点击 10 次,其中有 1 次,symfony 调试器将显示:
驱动程序中发生异常:SQLSTATE[08006] [7] 服务器意外关闭了连接
这可能意味着服务器在处理请求之前或处理请求时异常终止。
500 内部服务器错误 - ConnectionException,2 个链接异常:PDOException » PDOException »
在 PostgreSQL 服务器日志中会显示:
2017-03-15 02:26:58 CST LOG:启动包不完整
2017-03-15 02:27:04 CST LOG:无法从客户端接收数据:尝试对非套接字执行操作。
尝试:我已经配置了 Windows 防火墙以允许 postgresql.exe 通过端口 5432。我尝试从 Windows 上的 Powershell 和 Bash 运行 php7 服务器,但结果相同。
答案1
它不是真的答案是肯定的,但它确实有效。在即将推出的 Windows Creators 更新中,WSL 实际上允许在同一环境中安装和运行 PostgreSQL 服务器。这样就不需要套接字连接了。
从此以后我就没再见过这个错误。