Ruby 1.9.1-p234, пассажир 2.2.5, рельсы 2.3-стабильный закрытый поток по запросу POST
Я установил Ruby 1.9.1 (p234) на сервере Ubuntu. Я пытаюсь развернуть приложение Rails, которое производит Rails 2.3-stable на Apache 2.2 / Passenger 2.2.5.
GET запросов работает нормально, POST-запросы сразу порвать с журнале следующую запись:
{[0]}
...а потом еще немного.
Я прочитал и нашел вот что: http://blog.labnotes.org/2009/09/01/ruby-1-9-1-p234passenger-2-2-5-tempfile-rb-fix/ который указывает на патч, который удаляет одну строку из Ruby 1.9.1-темпфайл p234.rb. К несчастью для меня, изучая этот файл, я обнаруживаю, что наступательная линия уже удалена. Так что это оставляет меня немного невежественным, поскольку моя проблема сохраняется. Есть идеи?
5 ответов:
Существует обходной путь в пассажирском 2.2.8, так что это больше не требуется.
Случайный ответ Джима выше сработал для меня. Большое спасибо Джиму за вашу помощь.
Различия в моей системе, соответственно, следующие. Я надеюсь, что это полезно.
Киллиан.
*** /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.5/lib/phusion_passenger/utils.rb.orig Tue Nov 3 17:43:30 2009 --- /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.5/lib/phusion_passenger/utils.rb Tue Nov 3 17:43:46 2009 *************** *** 31,36 **** --- 31,37 ---- require 'etc' require 'fcntl' require 'tempfile' + require 'stringio' require 'phusion_passenger/exceptions' if !defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" require 'phusion_passenger/native_support' *** /usr/local/lib/ruby/1.9.1/tempfile.rb.orig Tue Nov 3 17:44:34 2009 --- /usr/local/lib/ruby/1.9.1/tempfile.rb Tue Nov 3 17:45:55 2009 *************** *** 137,143 **** # keep this order for thread safeness begin if File.exist?(@tmpname) ! closed? or close File.unlink(@tmpname) end @@cleanlist.delete(@tmpname) --- 137,143 ---- # keep this order for thread safeness begin if File.exist?(@tmpname) ! # closed? or close File.unlink(@tmpname) end @@cleanlist.delete(@tmpname)
Мне пришлось сделать следующее, чтобы заставить его работать
Gems / passenger-2.2.5 / lib/phusion_passenger / utils.rb добавьте require 'stringio' в этот файл в строке 34
Откройте lib / ruby / 1.9.1 / tempfile.rb закомментируйте строку 140
И это работает как заклинание.
Привет, Дэмиен. У меня была та же проблема, и пока я не получил точный ответ / ссылку для вас из памяти, мне пришлось залатать стойку иНе tempfile. Я надеюсь, что это поможет
Исправление случайного Джима сработало для меня, спасибо, эта проблема сводила меня с ума.
Мне также пришлось залатать actionview (в соответствии с патчем Гектора Гомеса на https://rails.lighthouseapp.com/projects/8994/tickets/2188-i18n-fails-with-multibyte-strings-in-ruby-19-similar-to-2038) чтобы заставить rails и ruby 1.9.1 работать.