- ベストアンサー
Perlのモジュールをインストール後、Apacheの再起動は必要かどうか
ブラウザに出力させるPerlのプログラム(cgi)を書いています。 Perlのモジュールが足りないため、 cpanでインストールをしました。 特に、Apacheを再起動させないで、 ブラウザにメッセージが出力されました。 通常、ApacheでPerlを使う場合、足りないモジュールを インストールした後はApacheの再起動をするべきなのでしょうか? 再起動する・しないの理由が知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
CGI(Common Gateway Interface)で起動されたPerlスクリプトは、 その場で「独立した」プログラムとしてスクリプトを読み込み 実行されます。Apache の再起動は不要です。 Apache から Perl を使う方法には mod_perl というものもありますが、 mod_perl を使用すると初回に実行した Perlスクリプトが Apache 本体に 組み込まれ、意図的に破棄しない限り(コンパイルされたコードが)再利用 されます。mod_perl を使用した場合は Perl のコードを変更すると Apache の再起動が必要になります。 http://ja.wikipedia.org/wiki/Perl#Web.E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.81.AE.E5.AE.9F.E8.A1.8C
その他の回答 (2)
- tamahiro22
- ベストアンサー率44% (8/18)
Apache のモジュールを追加した場合は、Apache の再起動は必要ですが、 Perl のモジュールを追加しただけでは、Apache を再起動する必要はありません。 基本的には実行毎にスクリプトはコンパイルされるので、 その度にモジュールは読み込まれます。 つまり、プロセス上の perl は処理が完了する度に終了しています。
お礼
なるほどですね。ご回答ありがとうございます。 どうしても、テストをしても上司から「絶対」「100%」だな? と言われるので自信がもてずにいました。 安心して作業ができます。
- YkazubonY
- ベストアンサー率30% (26/86)
IEでは、CGIが出力した結果をキャッシュしているから、Apacheだけに影響範囲を限定するのは無意味だべ。 特にCGIをデバッグしている場合はIEでF5を押す必要が煩雑に発生するな。
お礼
そうですね、ブラウザのキャッシュはやっかいになりますね。 サーバ側のプログラムを再起動をしても、クライアント側で キャッシュをしていては正しい結果がわからない時があります。 更新は必須ですね。ご回答ありがとうございます。
お礼
ご回答ありがとうございます。助かりましたm(_ _)m 独立したプログラムで納得しました。 自信がもてなかったですが、自信がつきました。 本当にありがとうございました。