2012-04-16 27 views
0

経験があり、この環境設定を持ち、Lionを実行している別のOS Xコンピュータでうまく動作します。 Djangoのセッションバックエンドはdbで、セッションミドルウェアとアプリケーションは両方とも設定で適切に有効になっています。サイトビューの最初の要求時に、request.sessionキー/値を設定します。その後のビューでは、キー/値が存在するかどうかをチェックすると、サーバーレベルの500エラーが発生し、デバッグモードをオンにしても、完全なスタックトレース例外を生成するためにPythonインタプリタに渡されません。 Apacheのログは Django、Apache、WSGI、MySqlなどでDjango + OS X + MySQL +初回セッション変数取得=クラッシュ

[Mon Apr 16 14:26:22 2012] [notice] Apache/2.2.21 (Unix) DAV/2 mod_wsgi/3.3 Python/2.7.1 mod_ssl/2.2.21 OpenSSL/0.9.8r configured -- resuming normal operations 
[Mon Apr 16 14:26:27 2012] [info] mod_wsgi (pid=2362): Create interpreter 'snap.joe|'. 
[Mon Apr 16 14:26:27 2012] [info] [client 127.0.0.1] mod_wsgi (pid=2362, process='snap', application='snap.joe|'): Loading WSGI script '/var/www/venvs/snap_env/snap/wsgi/wsgi.py'. 
[Mon Apr 16 14:26:32 2012] [error] [client 127.0.0.1] Premature end of script headers: wsgi.py 
[Mon Apr 16 14:26:33 2012] [notice] child pid 2362 exit signal Bus error (10) 

持っては、MySQL DB表django_session行がsession_dataに適切に追加されていることを確認しても、最初の要求の後に、ブラウザに設定されたCookieは、適切な/マッチングSESSION_IDが含まれています...次のメッセージを生成します。既存のセッションコードの直前に単純なrequest.session.flush()を追加すると、セッションに何も存在しないので、明らかにエラーを回避できます。もう1つは、セッションキー/値ストアに追加する値がDjangoのQuerySetオブジェクトです。これもまた、ライブのCentOSサーバーと、別のMac OS X Lionマシン(2.7ではなくPython 2.6を実行しています)で動作します。

アイデアの皆様?どうもありがとう!

+0

店舗にどのくらい正確に値を追加していますか?両方のマシンで同じバージョンのMySQL?唯一の違いはPythonのバージョンであることを確認しましたか? –

+0

MySqlのバージョンはまったく同じではないかもしれませんが、どちらも5.5.x以上です。セッションオブジェクトの外部にある他のメソッドを使って同じデータベースからセーブしたり取得したりすることができれば、dbバージョンでは問題にはなりません。明らかに違いはありますが、どこに問題があるのか​​はわかりません。 – sansjoe

答えて

0

は時の理由を文書化を参照してください:

http://code.google.com/p/modwsgi/wiki/FrequentlyAskedQuestions#Apache_Process_Crashes

とその回避策について、さらにリンクをたどります。

つまり、mod_pythonを同時に使用する共有ライブラリバージョンの競合、またはサブインタープリタで動作しないPythonの拡張モジュールを使用することができます。

これは、Apacheのは、セットでのみPythonのサイトの場合:1点の潜在的な迅速な解決のための

WSGIApplicationGroup %{GLOBAL} 

0

いくつかの考え:

1)あなたは、モジュールの同じバージョンを実行していますか? Djangoはちょうど最近更新されました(1.4)ので、pipをインストールしてバージョンを指定しなかった場合、あなたの開発には古いバージョンがあり、開発には新しいバージョンがあります。

2)これはmanage.py runserverだけでテストできますか?私の疑問は、それがApacheの設定と関係があるということです(runserverで正常に動作する場合は、Apacheの問題であることを意味します)。

+0

Django 1.3.1は、他のenvと同じように動作します。 1.4まではまだアップしていない。また、runserverを使用しているときに、apache経由で実行すると同時にサーバーが突然終了します。ブラウザはhttp://cl.ly/Frldのようにレポートします。 – sansjoe

関連する問題