• 締切済み

mod_perlのキャッシングに関して

現在RedhatLinuxでapache+mod_perlを動かしています。 自作のモジュールXXXX.pmを使用した(useにて)CGIを動かしているのですが、XXXX.pmに変更を加えても、それが反映されません。 Apache::Registoryを設定しているのですが、.cgiはうまく再コンパイルされているようなのですが、.pmを使用するとうまくいきません。ディレクトリは同一です。 mod_perlのキャッシングのせいだと思うのですが、回避の方法がご存知の方がいましたら教えて下さい。

  • Perl
  • 回答数1
  • ありがとう数3

みんなの回答

noname#227796
noname#227796
回答No.1

参考URLに設定方法が書いてありますが、これでいけませんかね? 私は利用したことがない設定なので、うまくいくかどうかわかりませんが。。。

参考URL:
http://www.din.or.jp/~bigstone/cgilab/cgitips/mod_perl1.html

関連するQ&A

  • プリインストール済みのApacheにmod_perlのインストール

    当方、RedHatLinuxを利用しています。 インストール済みのApacheに、 mod_perlをインストールし、PerlからPostgreSQLにアクセスしようとしています。 このとき、httpd.confに設定情報を記述しなければならないハズですが、 どうやらmod_perlをインストールしなければならないことが分かりました。 しかし、どれをとってみても、 Apacheのソースをコンパイルする時に設定する情報しか得ることができませんでした。 大変申し訳ないのですが、 プリインストール済みのApacheにmod_perlをインストールすることはできるのでしょうか?

  • mod_perlとディレクトリ

    以下のhttpd.confでAliasをコメントアウトして、 http://localhost/a/にアクセスすると、 Perlの【$ENV{MOD_PERL}】の部分が【mod_perl/2.0.2】と表示されますが Alias / c:/usr/Apache2/VirtualHost/mylink-info/public_html/a/ を有効にして、 http://localhost/にアクセスすると、 Perlの【$ENV{MOD_PERL}】の部分が【】となり、どうもmod_perlで動作していないです。 そうかといって、 <Location /a>を<Location />として全体をmod_perlすると sample.htmlなど cgi以外が正しく動作しないので、困っています。 mod_perlで動作するのは特定のディレクトリ(例えば /cgi-bin)の下限定として、 アクセス時に http://localhost/のようにあたかもpublic_htmlの下にあるように動作したいです。 #Alias / c:/usr/Apache2/VirtualHost/mylink-info/public_html/a/ #=== conf/httpd.conf ( mod_perl 2.x ) <IfModule mod_perl.c> LoadFile "C:/usr/local/bin/perl58.dll" PerlRequire "C:/usr/Apache2/conf/startup.pl" <Location /a> PerlSendHeader On SetHandler perl-script PerlResponseHandler ModPerl::PerlRun #PerlHandler Apache::Registry Options +ExecCGI PerlOptions +ParseHeaders Allow from all </Location> </IfModule>

    • ベストアンサー
    • Perl
  • MOD_PERL2.0の起動の仕方について

    以下のキーワードをDOS窓で入力して ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd mod_perl.so(Mod_perlモジュール)をインストールしました。 そして、httpd.confに以下のコマンドを追加して、extra.plをhttpd.confと同じフォルダに置き ##Mod_perl## LoadFile "C:/usr/local/bin/perl58.dll" LoadModule perl_module modules/mod_perl.so PerlRequire "C:/Program Files/Apache2/conf/extra.pl" #Alias /perl/ "/Apache2/perl/" <Location /perl> SetHandler perl-script PerlResponseHandler ModPerl::Registry Options +ExecCGI PerlOptions +ParseHeaders </Location> ##Mod_perl## Apacheを起動してもDOS窓は、画面に何もコメントを表示しないまま閉じてしまいます。 Mod_perlモジュールをインストールしてから、Apacheを起動するには一体どの様にすれば 宜しいかどうか教えて下さい。 ちなみに私は以下URLを参照しました。 ホームサーバの構成 http://eazyfox.homelinux.org/etc/serverspec.htm Mod_perl2.0のWin32の説明 http://perl.apache.org/docs/2.0/os/win32/config.html extra.plの内容も上の両ページに書かれている内容を埋め込んでやってみましたがどちらも結果は同様です。 どうかご教授宜しくお願いします。

    • ベストアンサー
    • Perl
  • mod_perlでファイルが開けない

    拡張子.plをapacheのmod_perl2で動作するようにしました。 printでHTMLタグの出力などはできますが、openすると403になります。その403も、何かよく分からない英文と同時に表示されていました。 httpd.confで.plを普通のCGIで動作させたならopenできたので、mod_perl2を使うとopenできなくなるということまでは分かりました。 openできるようにするためにはどのようなことを試せばよいですか?

  • mod_perlが早いと良く言いますが…

    mod_perlが早いと良く言いますが、 (1)「mod_perlを使用して動いているか、否か」を自分のホームサーバーで確認する方法。 (2)同じく、レンタルサーバーで確認する方法。 (3)mod_perlが早く動作する仕組みが、「phpがcgiモードではなくSSIみたいに動作する仕組み」とおおむね同じなのかどうか?といった点についてわかりやすく教えて下さい。 素朴な疑問です。

    • ベストアンサー
    • Perl
  • perlとmod_perlの併用について

    同一Webサーバ上で通常のperlとmod_perlを併用することは 可能でしょうか? バーチャルホストを使用してWebページ用のディレクトリは 通常のperl仕様のWebページとmod_perl仕様のWebページと分けて 構わないのですが・・・ よろしくお願いします。

    • ベストアンサー
    • Perl
  • mod_perlのキャッシュについて

    はじめまして、isi0033と言います。 下記のご回答宜しくお願い致します。 現在、レンタルサーバを借りてapache,mod_perlでシステムを構築しているのですが、潜在的なバグをもったプログラムにアクセスし、一度でも、ブラウザに『Internal Server Error』を表示されると、それがキャッシュとして残ってしまい、プログラムのバグを修正しても、『Internal Server Error』が表示されたりします。 何度かリロードすると正しく表示されるのですが、 とても安心して公開できません。 レンタルサーバでは、Apache::Registryが使われているようで、mod_perlについて色々調べると、Perlプログラムを読込んでコンパイルしたものをメモリにキャッシュするとありました。 このメモリをいったんクリアする設定or方法等、ご存知の人がいましたら、教えてください。

    • ベストアンサー
    • Perl
  • apache/mod_perlの実行エラーについて

    apacheについて質問です。分かる方、どうぞご教授下さい。 httpd.confにmod_perlの設定を記述しない場合、通常どおりapacheが起動するのですが、以下のようにmod_perlの設定を追記するとapacheがエラーで起動しません。 【mod_perlの設定】 PerlModule ModPerl::Registry PerlRequire /usr/lib/perl5/site_perl/5.8.8/startup.pl <Location /cgi-bin> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlSendHeader On Options ExecCGI </Location> 【apacheのエラー内容】 /usr/local/apache2/bin/httpd: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/ServerUtil/ServerUtil.so: undefined symbol: ap_get_server_banner httpd.confのmod_perlの設定については、他のサーバーでは問題なく起動していますので、mod_perlのconfigure時の共有ライブラリの設定に不備があるのではと思っているのですがどう設定すればいいのか分かりません。mod_perlのconfigure時のオプションは以下のようになっています。 【mod_perlのconfigure】 perl Makefile.PL \ > MP_USE_STATIC=1 \ > MP_AP_PREFIX=../httpd-2.0.63 \ > MP_AP_CONFIGURE="--prefix=/usr/local/apache2 --with-mpm=prefork" 以下、grep の実行結果です。 [root@colinux mod_perl-2.0.3]# grep -r ap_get_server_banner /usr/lib/* バイナリー・ファイル/usr/lib/httpd/modules/mod_rewrite.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_connect.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_ftp.soは一致しました どんな些細なことでも結構ですので、どうかご教授のほど宜しくお願い致します。 【環境】 fedora6 apache2.0.63 mod_perl2.0.4

  • useする自作のモジュールについて。

    perlで自作のモジュールをuseしたいのですが、その際参照するディレクトリをモジュールごとに指定するためにはどうしたらいいのでしょうか? 例えばあるスクリプト中でA.pmとB.pmをuseして、A.pmは一つ上の階層、B.pmは二つ上の階層のディレクトリを参照するという形です。 この際libで呼ぶのではなくアパッチでA.pmの場合はここを参照、B.pmの場合はこことしたいのですがどなたかご教授下さい。 環境 apache2.2系 Linux(ubuntu)

  • Apache.pm failed to load!.エラーについて

    いつもお世話になってます。 今回もよろしくお願い致します。 Perl5.8をインストールして、apacheでCGIを動かしたいのですが、うまくいきません。(perl5.61でも同じことが起こります。) perl、mod_perl等をインストールしてから、apacheを起動しようとすると、”Apache.pm failed to load!.”と表示されて起動できないのです。(http.confの最後に”PerlModule Apache”を加えても同じでした。) また、Apache.pmが、/usr/local/lib/perl5/5.8.0/CGI/にしかなかったので、apacheが起動時にApache.pmを探しに行っている、/usr/local/lib/perl5/5.8.0/にもコピーしたのですが同じく起動できませんでした。 確認のため、 # /usr/local/bin/perl -e 'use Config; print $Config{"usemymalloc"}' として見るとnと返ってきてしまうので、perlが正しくインストールされていないようなのですが、Apache1.32ではCGIが動いているので原因がいまいち分かりません。なにか解決策がありましたらご教授願います。 OS TurboLinux7 Apache 1.327 perl 5.61と5.8ともに試してみました。

専門家に質問してみよう