- ベストアンサー
mod_perlのキャッシュについて
はじめまして、isi0033と言います。 下記のご回答宜しくお願い致します。 現在、レンタルサーバを借りてapache,mod_perlでシステムを構築しているのですが、潜在的なバグをもったプログラムにアクセスし、一度でも、ブラウザに『Internal Server Error』を表示されると、それがキャッシュとして残ってしまい、プログラムのバグを修正しても、『Internal Server Error』が表示されたりします。 何度かリロードすると正しく表示されるのですが、 とても安心して公開できません。 レンタルサーバでは、Apache::Registryが使われているようで、mod_perlについて色々調べると、Perlプログラムを読込んでコンパイルしたものをメモリにキャッシュするとありました。 このメモリをいったんクリアする設定or方法等、ご存知の人がいましたら、教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
直接呼び出されたファイル(.cgi)は、一応更新日を 確認して再読み込みしてくれてるらしいです。 (が、うまくいかないと時も結構あった気がする) use、requireされたファイルは BEGIN { delete $INC{'hoge/fuga.pm'} } で、再読み込みしてくれるらしいですが、 これはやったことないので伝聞です。 とりあえず、mod_perl環境下で潜在的なバグを持ったプログラムを 安心して公開するのはかなりきついと思いますよ。
その他の回答 (1)
- Ethersky
- ベストアンサー率71% (168/235)
> それがキャッシュとして残ってしまい ブラウザ側のキャッシュでは? このキャッシュを消すには、IEならば「インターネットオプション」内の「インターネット一時ファイル」より。 > このメモリをいったんクリアする設定or方法等 サーバー(Apache)の再起動またはサーバーマシンそのものの再起動しかないと思われます。
補足
ISEの原因は、以下のURLに記載されているのと同じ でした。 http://fswiki.poi.jp/wiki.cgi?page=BBS-%A5%B5%A5%DD%A1%BC%A5%C8%B7%C7%BC%A8%C8%C4%2F251