経験があり、この環境設定を持ち、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を実行しています)で動作します。
アイデアの皆様?どうもありがとう!
店舗にどのくらい正確に値を追加していますか?両方のマシンで同じバージョンのMySQL?唯一の違いはPythonのバージョンであることを確認しましたか? –
MySqlのバージョンはまったく同じではないかもしれませんが、どちらも5.5.x以上です。セッションオブジェクトの外部にある他のメソッドを使って同じデータベースからセーブしたり取得したりすることができれば、dbバージョンでは問題にはなりません。明らかに違いはありますが、どこに問題があるのかはわかりません。 – sansjoe