Passenger, rackとsinatraでPremature end of script headers

なんだこれー

。。って思ってたのですが、案外簡単に解決しました。

config.ruが問題だったぽい。

passenger 2.0.5
rack 0.9.1
sinatra 0.9.0.2
$ cat config.ru
require 'rubygems'
require 'sinatra'

ROOT_DIR = File.expand_path(File.dirname(__FILE__))

Sinatra::Default.set(:run, false)
Sinatra::Default.set(:environment, :development)
Sinatra::Default.set(:views, File.join(ROOT_DIR, 'views'))
Sinatra::Default.set(:app_file, File.join(ROOT_DIR, 'sample.rb'))

#Sinatra::Application.default_options.merge!(
#  :run => false,
#  :env => :development,
#  :environment => :development,
#  :raise_errors => true,
#  :views => File.join(ROOT_DIR, 'views'),
#  :app_file => File.join(ROOT_DIR, 'sample.rb')
#)

use Rack::Static, :urls => ["/stylesheets", "/images", "/javascripts"], :root => "public"
#use Rack::Lint
use Rack::ShowExceptions

#run Sinatra.application
run Sinatra::Application

こぴぺ。
問題なのは、#use Rack::Lintの部分。
これが記述されていると、Premature end of script headersで画面真っ白になる。
なのでコメントアウトしています。
(sinatraのコメントアウトは古いバージョンの記述)

rackup config.ruで起動した場合はこうはならない。

こんなことに午前中を使ってしまうとは・・・不覚。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中