Синатра - как мне отладить его, когда он в сети? - PullRequest
2 голосов
/ 07 декабря 2009

Я написал крошечное крошечное приложение Sinatra, которое отлично работает локально, но по какой-то причине, как только я выложил его в сеть, все, что я получил, это «Внутренняя ошибка сервера».

Как получить выходные данные журнала?

Я бегу на Dreamhost с пассажиром, используя инструкции из книги Синатры .

Итак, я добавил к другим обработчикам:

get '/hello/:name' do
  "Hello, #{params[:name]}!"
end

get '/nokogiri-test/' do
  doc = Nokogiri::HTML(open('http://www.google.co.il/search?q='+params[:query]))
  res = ''
  doc.xpath('//li//h3//a').each do |li|
    res+= li.content + '<br />'
  end
  res
end

Первый работает нормально, второй выдает ошибку. Меня не интересует, почему есть ошибка. Меня интересует, как получить отзыв и исправить ошибки в будущем.

Ответы [ 2 ]

3 голосов
/ 08 декабря 2009

Ах! Ответ приходит от здесь .

Никогда бы не подумал заглянуть туда, но я впал в отчаяние. Решение состоит в том, чтобы настроить среду: development:

set :environment, :development

Я вставил это в мои файлы конфигурации, и он выдал все сообщения об ошибках. Все еще не решает мою проблему, если я когда-нибудь захочу выяснить, что вызывает ошибку в приложении PRODUCTION ... Так, как бы я решил это?

0 голосов
/ 08 декабря 2009

Если вы видите сообщение об внутренней ошибке сервера Apache, вы должны проверить журнал ошибок Apache, чтобы узнать, что происходит. Я думаю, что на Dreamhost файл журнала хранится в /home/your_user_name/logs/yourdomain.com/http/error.log

...