Rails 4 ActiveRecord在Ubuntu 13.04上抛出PG :: UnableToSend

Oma*_*Ali 8 ruby postgresql ubuntu activerecord ruby-on-rails

我们有一个Ruby v.2.0.0-p247Rails v4.0.1使用的应用程序pg gem v0.17.0.

该应用程序运行顺利下Mac OS X Mavericks v10.9PostgreSQL Server v9.2.4安装使用HomeBrew,但它在抛出以下异常Ubuntu v13.04使用PostgreSQL Server 9.1:

PG::UnableToSend: server closed the connection unexpectedly

This probably means the server terminated abnormally before or while processing the request.

事务性查询(表单提交)之后发生异常.

我尝试了以下内容database.yml:

  1. 添加 reconnect: true
  2. 添加 port: 5432
  3. 添加 socket: /var/run/postgresq/SOCKET_FILE

并尝试使用Ubuntu下的PostgreSQL配置:

  1. 禁用SSL.
  2. 将TCP keepalives参数更改为泵超时.
  3. 将日志级别更改为DEBUG并在PostgreSQL Server上搜索可能的错误.

还尝试过:

  1. 降级为pg gem v0.16.0.
  2. 将所有Ubuntu 13.04软件包更新到最新版本.

有什么可能是错的?

更新:

12/03/2013:有人建议检查防火墙设置.ufw statusufw是残疾人.12/08/2013:尝试使用香草Rails应用程序和当前应用程序进行大量修改后,问题来自于rails4/activerecord-session_storegem.第47行lib/active_record/session_store/session.rb是罪魁祸首.

Ahm*_*sef 4

当您使用旧版本的launchy时,这基本上会发生,并且根据launchy 的 git repo 引用 @infertux 上的此问题

在极少数情况下,当exec无法运行命令时 - 通常是当文件无法打开时Errno::ENOENT- Launchy 会引发异常但不显示任何输出

你可以检查一下Gemfile.lock你是否使用的是2.4.1以下的版本launchy,我怀疑你letter_opener的开发环境中使用的是Gem,所以launchy更新letter_opener到1.2.0会更新launchy到2.4.0以上的版本大多数 2.4.2 已修复此问题

所有功劳都归功于@infertux