• ベストアンサー

Perlのモジュールをインストール後、Apacheの再起動は必要かどうか

ブラウザに出力させるPerlのプログラム(cgi)を書いています。 Perlのモジュールが足りないため、 cpanでインストールをしました。 特に、Apacheを再起動させないで、 ブラウザにメッセージが出力されました。 通常、ApacheでPerlを使う場合、足りないモジュールを インストールした後はApacheの再起動をするべきなのでしょうか? 再起動する・しないの理由が知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

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

bunmeidou
質問者

お礼

ご回答ありがとうございます。助かりましたm(_ _)m 独立したプログラムで納得しました。 自信がもてなかったですが、自信がつきました。 本当にありがとうございました。

その他の回答 (2)

回答No.3

Apache のモジュールを追加した場合は、Apache の再起動は必要ですが、 Perl のモジュールを追加しただけでは、Apache を再起動する必要はありません。 基本的には実行毎にスクリプトはコンパイルされるので、 その度にモジュールは読み込まれます。 つまり、プロセス上の perl は処理が完了する度に終了しています。

bunmeidou
質問者

お礼

なるほどですね。ご回答ありがとうございます。 どうしても、テストをしても上司から「絶対」「100%」だな? と言われるので自信がもてずにいました。 安心して作業ができます。

  • YkazubonY
  • ベストアンサー率30% (26/86)
回答No.2

IEでは、CGIが出力した結果をキャッシュしているから、Apacheだけに影響範囲を限定するのは無意味だべ。 特にCGIをデバッグしている場合はIEでF5を押す必要が煩雑に発生するな。

bunmeidou
質問者

お礼

そうですね、ブラウザのキャッシュはやっかいになりますね。 サーバ側のプログラムを再起動をしても、クライアント側で キャッシュをしていては正しい結果がわからない時があります。 更新は必須ですね。ご回答ありがとうございます。

関連するQ&A