• ベストアンサー

mod_perlで動作していることを画面上に表示させたい。

Apache2(Win)でmod_perlをインストールをして、VirtualHostを使っております。 aサイトでは、mod_perlなし bサイトでは、mod_perlあり アクセスして早くなった感じはあまりしませんが、 mod_perlで正しく動作しているという確認をしたいのですが、わかる方法はありますか?

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

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

  • ベストアンサー
  • fruit893
  • ベストアンサー率68% (15/22)
回答No.1

mod_perlの下で動作している場合、環境変数MOD_PERLにmod_perlのバージョンが入ります。 print "Content-Type: text/plain\n\n"; print $ENV{MOD_PERL}; などとして確認してみてください。 蛇足ですが、サーバにmod_perlが正しくインストールできているかどうかは、環境変数SERVER_SOFTWARE内に"mod_perl"という文字列があるか否かで判断できます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

http://perl.apache.org/docs/2.0/user/porting/porting.html#Making_Code_Conditional_on_Running_mod_perl_Version によると use mod_perl; print $mod_perl::VERSION; でバージョンが取れるみたいです

関連するQ&A

  • 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_perlが早いと良く言いますが…

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

    • ベストアンサー
    • Perl
  • プリインストール済みのApacheにmod_perlのインストール

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

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

    • ベストアンサー
    • Perl
  • mod_perlのキャッシングに関して

    現在RedhatLinuxでapache+mod_perlを動かしています。 自作のモジュールXXXX.pmを使用した(useにて)CGIを動かしているのですが、XXXX.pmに変更を加えても、それが反映されません。 Apache::Registoryを設定しているのですが、.cgiはうまく再コンパイルされているようなのですが、.pmを使用するとうまくいきません。ディレクトリは同一です。 mod_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

  • Apacheでmod_rewriteを利用して複数ドメインを1個ですませる

    Apacheでmod_rewriteを利用して複数ドメインを1個ですませる方法を探しています。 rewriteマスターはいませんか? 現在virtualhostが数百ありますが、再起動速度が遅いこと、メモリ消費量が多いことから、1個ですませたいと思ってします。 <virtualhost></virtualhost>内でrewriteを利用して1個ですませる設定を教えていただけないでしょうか。 mod_vhost_aliasを考えましたが、他の設定も入れたいのでmod_rewriteでどうにかできないかと思っています。 教えていただけないでしょうか。

  • mod_rewriteでの'?'表示

    http://www.example.com/search.cgi?a=mypage&b=go&c=1&d=2 を、 http://www.example.com/mypage/go/search?c=1&d=2 に変えたいですが、どのようにすればよいのでしょうか? htaccessでは・・・ Options +FollowSymlinks RewriteEngine on RewriteRule ^/([0-9A-Za-z]+)\/([0-9A-Za-z]+)\/search?c=([0-9A-Za-z]+)&d=([0-9A-Za-z]+)$ /search.cgi?a=$1&b=$2&c=$3&d=$4 [L] にしてもアクセスできません… APACHEマニュアルでは「?」は文字数指定と言う文法に なるらしく、「?」を表示させたいです。 http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule どうすればよろしいでしょうか?ご教示ください。