2011-03-24 2 views
2

私のローカルマシンにレールアプリを書きます(OSX 10.6.6,Rails3.0.1,WEBrick)。シンプルキャプチャはうまく動作します。アプリを自分のWebサーバーにプッシュすると、(Centos5.5,Rails 3.0.1,Phusion Passenger version 3.0.2)エラーは見つかりませんが、サイトに画像は表示されません。私の生産環境ではcaptchaイメージは機能しませんが、devlopmentは正常です

通知あり/tmpにはsimple_captcha20110324-19769-1bf4hah.jpgのようなファイルがいくつかあります。私は私のサーバーでそれを開き、画像はキャプチャ画像です。だから、私はcaptchaが動作していると思うが、生産環境で何か間違っている。私はプロセスを追跡し、ioctl(27, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffc3fad550) = -1 ENOTTY (Inappropriate ioctl for device)を見つけました。何か提案はありますか?

straceの情報:

... 
stat("/tmp/simple_captcha20110324-3073-14fnzd6.jpg", {st_mode=S_IFREG|0600, st_size=1808, ...}) = 0 
stat("/tmp/simple_captcha20110324-3073-14fnzd6.jpg", {st_mode=S_IFREG|0600, st_size=1808, ...}) = 0 
geteuid()        = 500 
getegid()        = 500 
getuid()        = 500 
getgid()        = 500 
access("/tmp/simple_captcha20110324-3073-14fnzd6.jpg", R_OK) = 0 
open("/tmp/simple_captcha20110324-3073-14fnzd6.jpg", O_RDONLY) = 27 
ioctl(27, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffc3fad550) = -1 ENOTTY (Inappropriate ioctl for device) 
brk(0x63b0000)       = 0x63b0000 
write(3, "\n\nStarted GET \"/simple_captcha/e"..., 133) = 133 
clock_gettime(CLOCK_REALTIME, {1300937319, 188732000}) = 0 
writev(11, [{"Status: ", 8}, {"200", 3}, {"\r\n", 2}, {"X-Powered-By: ", 14}, {"Phusion Passenger (mod_rails/mod"..., 44}, {"\r\n", 2}, {"Content-Disposition", 19}, {": ", 2}, {"inline; filename=\"simple_captcha"..., 37}, {"\r\n", 2}, {"Content-Transfer-Encoding", 25}, {": ", 2}, {"binary", 6}, {"\r\n", 2}, {"Content-Type", 12}, {": ", 2}, {"image/jpeg", 10}, {"\r\n", 2}, {"Cache-Control", 13}, {": ", 2}, {"private", 7}, {"\r\n", 2}, {"X-UA-Compatible", 15}, {": ", 2}, {"IE=Edge,chrome=1", 16}, {"\r\n", 2}, {"Set-Cookie", 10}, {": ", 2}, {"_newuser_session=BAh7CEkiD3Nlc3N"..., 275}, {"\r\n", 2}, {"X-Sendfile", 10}, {": ", 2}, ...], 39) = 623 
shutdown(11, 1 /* send */)    = 0 
close(11)        = 0 
... 

UPDATE:

は、私は多分https://github.com/galetahub/simple-captchaにいくつかのバグを考えます。私はこのブランチを選択しましたhttps://github.com/kares/simple_captchaすべてのenvはうまく動作します!

答えて

0

config/environments/production.rbファイルでconfig.serve_static_assets = trueを設定する必要があります。

パフォーマンス上の理由から、デフォルトでは、レールは運用モードで静的コンテンツを提供しません。あなたのウェブサーバはそれを行うように設定されていなければなりません。

+0

sudo apt-get install imagemagick libmagickwand-dev ....私はsimple-captchaイメージを見ることができませんでしたので、imagemagickがインストールされていないので、イメージを参照してください:) ..... –

0

私はcaptchaが開発環境と本番環境で異なるキーを持っていることを覚えている場合、既にチェックアウトしていますか?

+0

simple-captcha does開発環境と本番環境のコンフィグレーションキーが不要 – jean

+0

申し訳ありませんが、私はrecaptchaを使用していましたが、これには必須です。 –

+0

私はそれを前に使っています。私はrecaptchaが母国語の英語を話す人なら非常に良い解決策だと思います。 – jean

1

https://github.com/galetahub/simple-captchaは、キャプチャ画像をストリームするためにsend_file(rails streaming apiから)を使用します。 Apacheの設定でmod-xsendfileを有効にしましたか?

関連する問題