Django、Apache、WSGI、MySql などの経験があり、Lion を実行している別の OS X コンピュータでこの環境をセットアップして正常に動作させています。Django セッション バックエンドは db であり、セッション ミドルウェアとアプリの両方が設定で適切に有効になっています。サイト ビューの最初のリクエスト中に、request.session キー/値を設定しました。これは、今回初めて正常に機能します。その後のビューでは、キー/値が存在するかどうかを確認すると、サーバー レベルの 500 エラーが発生し、デバッグ モードがオンになっていても、Python インタープリターが完全なスタック トレース例外を生成しません。Apache ログは次のメッセージを生成します...
[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 を実行しています)。
アイデアはありますか?どうもありがとう!