2011-11-02 85 views
0

我已經在這個問題上做了相當多的研究,但一直未能解決我的問題。我使用Rails 3.0.3,Ruby 1.8.7(patchlevel 334),Apache,Passenger 3.0.7和Devise gem 1.1.8。另外,我正在使用Gmail發送電子郵件。當我嘗試發送密碼重設時,我在我的Apache error_log中收到錯誤:Ruby on Rails/Devise smtp.rb分段錯誤

[Tue Nov 01 19:40:31 2011] [error]腳本標題的提前結束:用戶 [pid = 9371 thr = 3084437904 file = ext/apache2/Hooks.cpp:822 time = 2011-11-01 19:40:31.664]:後端應用程序(進程9569)未發送有效的HTTP響應;相反,它什麼也沒有發送。它可能已經崩潰;請檢查此應用程序中是否存在崩潰的錯誤。

從我的研究中,我發現一個原因可能是由於Ruby on Rails尋找OpenSSL的bug版本。我嘗試添加這對我的.bashrc文件的建議:

出口RUBYOPT =「 - ropenssl」

而且,我試圖更新我的production.rb我的SMTP配置,以不使用TLS:

:enable_starttls_auto =>假

我的完整SMTP配置:

config.action_mailer.default_url_options = { :host => '<domain>' } 
    ActionMailer::Base.smtp_settings = { 
    :enable_starttls_auto => false, 
    :address => "smtp.gmail.com", 
    :port => 587, 
    :domain => <domain>, 
    :user_name => <username>, 
    :password => <password>, 
    :authentication => "plain" 
} 

的我已經找到了建議無似乎已經奏效。我不確定該從哪裏出發,因爲這些是我發現的唯一建議和修復。它在我的開發機器上沒有任何問題。除了Apache/Passenger之外,它運行的是以上所有版本,我不在本地。

邁克

回答

0

我能夠通過制定寶石升級到1.4.8版本,以解決這個問題。但是,升級後,我得到一個錯誤「未定義的方法`new_session_path'。」然後我升級到Devise版本1.4.9,現在一切正常。希望這可以幫助某人。

Mike