1 名前:nobodyさん [2006/06/05(月) 20:01:09 ID:+YcYjDiD] mod_perl perl.apache.org/ SpeedyCGI perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod 前スレ mod_perlを使おう! pc8.2ch.net/test/read.cgi/php/1005122528/ ー二三ヘ( ゚∀゚)ノ
473 名前:nobodyさん mailto:sage [2006/07/08(土) 16:45:31 ID:???] ここはそういうスレではないです
474 名前:nobodyさん [2006/07/08(土) 18:54:22 ID:uy7Z+OsL BE:341069-#] >>472 mtの前に、hello.cgiとか動かしてみればいいんでないすか。
475 名前:nobodyさん mailto:sage [2006/07/08(土) 19:13:56 ID:???] >>471 何か内容が反対に受け取られてるような気が? 補足すると mod_speedycgiのHello WorldにはCのHello Worldも負けてるのに 比較対照がノーマルPHPなわけはないだろう。 こう言いたかったのよ。
476 名前:472 mailto:sage [2006/07/08(土) 19:20:32 ID:???] >>473 質問スレではないかもしれないとは思ったのですが、 皆さんはかなりお詳しいと思い、悩んだのですが思い切って質問させていただきました。 気分を害しましたら、ごめんなさい。 >>474 レスありがとうございます。 「hello.cgi」というのは、要するにテスト用のcgiを作成して、ということでよろしいですか? googleなどでヒットするhello.cgiを試しに作ってみて、先頭部分を# !/usr/bin/speedyと 書き換えてみましたところ、無事リロードしても表示されました。 となると、問題はmt.cgiなのでしょうか…? googleでいろいろ調べまくったのですが、どうも有益な情報が見つかりません。 movabletypeでspeedyCGIを動かしている方々、どうぞお知恵を拝借ください…。
477 名前:nobodyさん mailto:sage [2006/07/08(土) 19:56:46 ID:???] >>476 >1回目は無事表示されるんですが、リロードするとInternalServerErrorが。 グローバル変数の初期化ができてない典型のように思えますが、 そのmtはmod_perlやFastCGIでは正常に動き、SpeedyCGIのみ動かない状態でしょうか? mtは触ったことがないですが、mod_perlかどうか判定してコードを切り替えているという事は聞いた事があります。 ≠mod_perlの判定のためCGI用のコードが実行されている? 後、mtはSpeedyCGIよりFastCGIの方が情報が多いので楽かも。 as-is.net/blog/archives/001042.html ここが有名。
478 名前:nobodyさん mailto:sage [2006/07/08(土) 20:47:04 ID:??? BE:53064623-#] MTのコードちょっと覗いてみたら mod_perl用に条件分岐しまくりワロタ
479 名前:471 mailto:sage [2006/07/08(土) 20:48:33 ID:???] >>475 mod_speedycgiのHello WorldにはCGI/CのHello Worldも負けてるのに 比較対照がCGI/PHPなわけはないだろう。 と言う意味で解釈していたのですが、これで良いんですよね? 処理系の速度としては、C > perl > PHP というのは周知の事実。 PHPが速いと言われるのは、Apacheのmoduleとして動かしているからで、 この起動速度は、PHPが速く、小さいコードでは、その差が効いてPHPが 速い。 この先は触れていないんですが、、コードが大きくなると、処理系の遅さが 効いてきて、perl系に抜かれるという意味で書いてました。
480 名前:475 mailto:sage [2006/07/08(土) 20:58:10 ID:???] >>479 すまそ。 正確に把握されてたのね...
481 名前:472 mailto:sage [2006/07/08(土) 21:07:45 ID:???] >>477 レスありがとうございます。 FastCGIは試していないのですが、mod_perlをインストールする際にエラーが出て インストールできなかったので、他の方法がないのかと探していてこのスレへたどりつきました。 ここを見ていると、mod_perlはいまいち評価が高くないように感じ、speedyCGIを試していたところでした。 >グローバル変数の初期化ができてない典型のように思えますが、 まさにそうだと思うのですが、対処法がわかりません…。 参考サイトを見ながら、FastCGIの導入を勉強してみます。 レスどうもありがとうございました。大変助かりました。
482 名前:477 mailto:sage [2006/07/08(土) 21:22:44 ID:???] >>481 あえてSpeedyCGIを試すなら、mod_perl判定フラグをtrueにすればいいのではないかと思いますが。 SpeedyCGIとFastCGIはメモリ消費も速度も近いので、楽な方を選ぶべきだと思います。
483 名前:477 mailto:sage [2006/07/08(土) 21:49:31 ID:???] >>481 後、忘れていました。 FastCGIはScriptAliasがかかっているDirでは正常に動かないです。 mtのインスコ先にScriptAliasがかかっている場合は外してしまって、 変わりに Alias /cgi-bin/ "......." <Location /cgi-bin/> AddHandler cgi-script .cgi fastcgi-script .fcgi ..... </Location> のような感じで設定したらいいです。
484 名前:477 mailto:sage [2006/07/08(土) 21:50:32 ID:???] ×fastcgi-script .fcgi ○AddHandler fastcgi-script .fcgi
485 名前:477 mailto:sage [2006/07/09(日) 00:58:13 ID:???] 後、 ×<Location /cgi-bin/> ○<Location /cgi-bin> もう一つ、 as-is.net/blog/archives/001042.html の通りにやるなら、 AddHandler fastcgi-script .fcgi これは要らないです。 間違いだらけ、本当にすいません。
486 名前:477 mailto:sage [2006/07/09(日) 01:02:01 ID:???] また間違いました。 AddHandler fastcgi-script .fcgi やっぱり要ります。 連投しまくり、すいません。
487 名前:472 mailto:sage [2006/07/09(日) 01:17:20 ID:???] >>477 477さん、いろいろとありがとうございます。 あれからひたすら何度も試しているのですが、実は全然うまくいきません(つД`) Apache1.3にfcgiとmod_FastCGIを適用させようとしているんですが、エラーが…。 httpd.confに以下の内容を書き込んでapacheを再起動します。 LoadModule fastcgi_module libexec/apache/mod_fastcgi.so AddModule mod_fastcgi.c <IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi FastCGIConfig -maxClassProcesses 4 -minProcesses 1 FastCgiIpcDir /tmp </IfModule> すると、 Syntax error on line 206 of /usr/local/apache/conf/httpd.conf: Invalid command 'LoadModule', perhaps mis-spelled or defined by a module not included in the server configuration とエラーが返されます。サイトの説明通りにやっているんですが…。
488 名前:477 mailto:sage [2006/07/09(日) 01:43:44 ID:???] >>487 > LoadModule fastcgi_module libexec/apache/mod_fastcgi.so エラーログの指摘だとこの行のエラーですよね。 多分、>487さんの環境では、 LoadModule fastcgi_module modules/mod_fastcgi.so これでいいんではないかと思います。
489 名前:487 mailto:arashi-yama@hotmail.com [2006/07/09(日) 02:10:48 ID:???] >477さん いろいろとありがとうございます(つД`)2chでこんなに親切にされたの初めてです。 477さんのおっしゃるとおり試してみたのですが、またエラーが出てしまいました。 明日改めてfastcgiを入れ直してみようかと思います。 それで、もしよろしければこちらの板でずっと続けてしまうと皆さんにご迷惑をおかけしているような 気もしますので、メールで教えていただけませんでしょうか…。 もう、藁にもすがる思いなんです…。 メアド欄にアドレスを入れましたので、もしよろしければお返事ください。 本当にありがとうございました。
490 名前:477 mailto:sage [2006/07/09(日) 02:17:43 ID:???] メールしました。
491 名前:nobodyさん mailto:sage [2006/07/09(日) 09:09:57 ID:??? BE:894167699-#] もう放置しろよ
492 名前:nobodyさん mailto:sage [2006/07/09(日) 12:41:51 ID:???] >>489 うまく行ったら、どの辺で引っかかっていたのか、レポートよろ。
493 名前:nobodyさん [2006/07/11(火) 14:51:25 ID:EY3GIFAe] mod_perlに移行したら、cronで動かなくなりました。 どうしたらいいんでしょう?
494 名前:nobodyさん mailto:sage [2006/07/11(火) 18:03:59 ID:???] cronで何をうごかしてたん。
495 名前:nobodyさん [2006/07/11(火) 21:22:46 ID:EY3GIFAe] >>494 perlです。すいません、自己解決しました。
496 名前:nobodyさん mailto:sage [2006/07/12(水) 11:09:51 ID:???] SpeedyCGIで CGI::Sessionを使うときに注意すべき点があれば 教えてください。
497 名前:nobodyさん mailto:sage [2006/07/12(水) 21:56:44 ID:???] CGI::Session->flush;
498 名前:nobodyさん mailto:sage [2006/07/18(火) 01:51:23 ID:???] 保守
499 名前:nobodyさん mailto:sage [2006/07/19(水) 15:16:27 ID:???] mod-perlでSSIを使いたく、Apache::SSIをインストしたいんですが、 依存でApache::Constantsがないと言われます。 それで、cpanでApache::Constantsをインストしようとすると、 ************* WARNING ************* Your Perl is configured to link against libgdbm, but libgdbm.so was not found. You could just symlink it to /usr/lib/libgdbm.so.2.0.0 ************* WARNING ************* Enter `q' to stop search Please tell me where I can find your apache src [../apache_x.x/src] と警告が二つ出てしまいます。/apache/src なんてどこにもないんだけど、これはなんでしょか?(-o-;
500 名前:nobodyさん mailto:sage [2006/07/19(水) 22:40:18 ID:???] /usr/local/src/apache_x.x/src とかなんじゃね
501 名前:nobodyさん mailto:sage [2006/07/19(水) 22:46:09 ID:???] 全くスレ違いだと思うが、 > ************* WARNING ************* > > Your Perl is configured to link against libgdbm, > but libgdbm.so was not found. > You could just symlink it to /usr/lib/libgdbm.so.2.0.0 Perlがgdbm前提でビルドされているのに、gdbmの実体がみつからない。 /usr/lib/libgdbm.so.2.0.0に実体へのシンボリックリンクを作れ。 > ************* WARNING ************* > Enter `q' to stop search > Please tell me where I can find your apache src > [../apache_x.x/src] qを入力した後アパッチソースのパスを入力しろ。 以上で間違いないと思うが。
502 名前:499 [2006/07/19(水) 22:51:32 ID:NWioDOXW] # locate apache_ /root/.cpan/build/mod_perl-1.29/src/modules/perl/apache_inc.h /usr/share/doc/mod_perl-2.0.2/docs/devel/core/apache_integration.pod /usr/share/doc/mod_perl-2.0.2/docs/user/porting/code/apache_mp3_2.diff /usr/share/doc/mod_perl-2.0.2/docs/user/porting/code/apache_mp3_7.diff /usr/share/doc/mod_perl-2.0.2/docs/user/porting/code/apache_mp3_9.diff /var/www/icons/apache_pb.gif /var/www/icons/apache_pb.png /var/www/icons/apache_pb2.gif /var/www/icons/apache_pb2.png /var/www/icons/apache_pb2_ani.gif /var/www/manual/images/apache_header.gif なのですが・・・(-o-;
503 名前:499 [2006/07/19(水) 22:55:32 ID:NWioDOXW] >>501 スレ違い失礼します。。 gdbmの実体とはlibgdbm.soですよね?見当たらないんですが。。(-o-; gdbmってなんでしょ?調べてきます。perlは問題なく動いてはいるんですが。。
504 名前:501 mailto:sage [2006/07/19(水) 23:56:28 ID:???] >>503 gdbmは最も単純なデータベース。 BarkleyDBと似たようなもの。 locate gdbmの結果は?
505 名前:501 mailto:sage [2006/07/20(木) 00:02:01 ID:???] >>502 アパッチがディストリのものだと、どうすればいいかはケースバイケース。 自力でググるしかない。
506 名前:499 [2006/07/20(木) 08:49:55 ID:YgRADElF] >>504 # locate gdbm /usr/lib/libgdbm.so.2 /usr/lib/libgdbm.so.2.0.0 /usr/lib/python2.4/lib-dynload/gdbmmodule.so /usr/local/man/man7/maildropgdbm.7 /usr/local/share/maildrop/html/maildropgdbm.html /usr/local/src/maildrop-2.0.2/gdbmobj /usr/local/src/maildrop-2.0.2/maildropgdbm.7 /usr/local/src/maildrop-2.0.2/maildropgdbm.html /usr/local/src/maildrop-2.0.2/gdbmobj/.deps /usr/local/src/maildrop-2.0.2/gdbmobj/Makefile /usr/local/src/maildrop-2.0.2/gdbmobj/Makefile.am /usr/local/src/maildrop-2.0.2/gdbmobj/Makefile.in /usr/local/src/maildrop-2.0.2/gdbmobj/aclocal.m4 /usr/local/src/maildrop-2.0.2/gdbmobj/config.h /usr/local/src/maildrop-2.0.2/gdbmobj/config.h.in /usr/local/src/maildrop-2.0.2/gdbmobj/config.log /usr/local/src/maildrop-2.0.2/gdbmobj/config.status /usr/local/src/maildrop-2.0.2/gdbmobj/configure /usr/local/src/maildrop-2.0.2/gdbmobj/configure.in /usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj.c /usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj.h /usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj2.c
507 名前:501 mailto:sage [2006/07/20(木) 09:01:09 ID:???] >>506 通常、 /usr/lib/libgdbm.so.2は /usr/lib/libgdbm.so.2.0.0へのシンボリックリンク。 #cd /usr/lib #ln -s libgdbm.so.2 libgdbm.so で解決するかと。
508 名前:499 [2006/07/20(木) 09:15:28 ID:YgRADElF] 続き /usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj3.c /usr/local/src/maildrop-2.0.2/gdbmobj/libtool /usr/local/src/maildrop-2.0.2/gdbmobj/stamp-h1 /usr/local/src/maildrop-2.0.2/gdbmobj/testgdbm.C /usr/local/src/maildrop-2.0.2/gdbmobj/testsuite /usr/local/src/maildrop-2.0.2/gdbmobj/testsuite.txt /usr/local/src/maildrop-2.0.2/gdbmobj/.deps/gdbmobj.Plo /usr/local/src/maildrop-2.0.2/gdbmobj/.deps/gdbmobj2.Plo /usr/local/src/maildrop-2.0.2/gdbmobj/.deps/gdbmobj3.Plo /usr/local/src/maildrop-2.0.2/gdbmobj/.deps/testgdbm.Po /usr/local/src/maildrop-2.0.2/maildrop/maildropgdbm.7 /usr/local/src/maildrop-2.0.2/maildrop/maildropgdbm.html /usr/share/doc/gdbm-1.8.0 /usr/share/doc/gdbm-1.8.0/COPYING /usr/share/doc/gdbm-1.8.0/NEWS /usr/share/doc/gdbm-1.8.0/README /usr/share/doc/man-pages-ja-20060115/translation_lists/GNU_gdbm.translation_list /usr/share/man/ja/man3/gdbm.3.gz /usr/share/mime/application/x-gdbm.xml です
509 名前:499 mailto:sage [2006/07/20(木) 13:36:45 ID:???] 501さん、色々とありがとうございます。 FedoraCore5なんですが、ググってもそれらしい情報が探し出せない(-o-; Apache::SSIってあんまり使われてないのかな;;
510 名前:501 mailto:sage [2006/07/20(木) 22:00:08 ID:???] # yum install httpd-devel > ************* WARNING ************* > Enter `q' to stop search > Please tell me where I can find your apache src > [../apache_x.x/src] ここで'q'を打った後、 /usr/include/httpd か /usr/lib/httpd/build を入力。 これでいいかも。 断っておくがFedoraCoreほとんど知りません。 RPMの中身からの憶測なので違ったらすまそ。
511 名前:nobodyさん mailto:sage [2006/07/23(日) 03:21:11 ID:???] mod_perlからmod_speedycgiに引越中。 環境も整ってきたので、適当にベンチとってみました。 予想以上の結果にビックリしてます。 実際運用している物と同じシステムで負荷の高い(DBIでSELECT)メインスクリプトに 5つほどライブラリでばらしています。 ab -n 1000 -c 10 PerlRun+DBI 10.60 [#/sec] PerlRegistry+DBI 44.74[#/sec] PerlRegistry+Apache::DBI 103.67[#/sec] mod_speedycgi+DBI 219.51[#/sec] 数回とりましたが、おおよそこんなもん 速度とメモリ使用量はすばらしいんだけどな〜 mod_speedycgiがわからない事だらけ。 DBIの扱いにクセとかあるのかな?なんとかDBI接続できてるんだけど不安定(同一ソースで成功したり失敗したり) デバッグは大変だと思う、たんに-wをつけていてもerror_logに入ってこないヶ所も多々あるように感じる。 DBIのエラーや不都合をさぐるのに$sth->errstrも効果無い?のでDBI->trace()でさぐってます。 ググってそれなりの資料が出てくる日まで、速度とメモリ使用量のメリットをあきらめてmod_perlにもどそうかと検討中ですw
512 名前:nobodyさん mailto:sage [2006/07/23(日) 05:14:39 ID:???] >>511 SpeedyCGIはデフォだと1時間でキャッシュが捨てられるから、不安定なのはその辺じゃない?
513 名前:nobodyさん mailto:sage [2006/07/23(日) 05:18:43 ID:???] 正確には1時間アクセスがないと、だな。 パラメータ指定するか、wgetをcron経由で起動すればすむけど。
514 名前:nobodyさん mailto:sage [2006/07/23(日) 11:26:54 ID:??? BE:636768689-#] perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod ここにも定義されてるのをチェックするって書いてあるしな
515 名前:nobodyさん mailto:sage [2006/07/23(日) 12:00:15 ID:???] で、511は、↑にある > ・データベースへの接続を持続させたままにするにはどうすればよいですか? > グローバルの値は実行をまたがって保持されるので、これを行う一番よい方法は > 接続をグローバル変数に格納し、実行のたびにその変数が既に定義されているか > をチェックすることです。 をやっているの?
516 名前:nobodyさん mailto:sage [2006/07/23(日) 12:09:39 ID:???] > ab -n 1000 -c 10 > PerlRun+DBI 10.60 [#/sec] > PerlRegistry+DBI 44.74[#/sec] > PerlRegistry+Apache::DBI 103.67[#/sec] > mod_speedycgi+DBI 219.51[#/sec] これって非常に不思議な結果なのだけど、それぞれどんな設定なのかな?
517 名前:511 mailto:sage [2006/07/23(日) 16:22:12 ID:???] >512-513 テスト中の出来事なので1時間以内にキャッシュにアクセスしています。 wgetをcron経由の技は違うシーンでパクらせて頂きます。 >514 use CGI::SpeedyCGI; my $sp = CGI::SpeedyCGI->new; print "Running under speedy=", $sp->i_am_speedy ? 'yes' : 'no', "\n"; ↑はチェック済みでyesが出ました。↓はこの後に試してみます。 if (eval {require CGI::SpeedyCGI} && CGI::SpeedyCGI->i_am_speedy) { >515 use vars qw($dbh); unless (defined($dbh)) { $dbh = DBI->connect(***, ****); } ちなみに↓も試しました。 $dbh = DBI->connect_cached(***, ****); use varsでもmy $dbhでも同じ状況です。 更新後に成功して2回目でDBIがコケる事がよくあります。 キャッシュがカギか!と思わせてたまに、2回目も問題なくクリアしたりとさっぱり原因がわかりません。
518 名前:nobodyさん mailto:sage [2006/07/23(日) 16:24:33 ID:???] >516 【環境】 Fedora Core5 ↓ソースからインストール httpd-2.0.58 prefork PostgreSQL8.1.4 DBI-1.51 DBD-Pg-1.49 CGI-SpeedyCGI-2.22 mod_perl-2.0 【mod_perlのhttpd.conf】 LoadModule perl_module modules/mod_perl.so <Files *.pl> SetHandler perl-script PerlModule Apache::DBI #ベンチでApache::DBI以外はコメントアウト PerlHandler Apache::Registry #PerlRunの場合はApache::PerlRun PerlSendHeader On PerlInitHandler Apache::StatINC Options +ExecCGI </Files> PerlFreshRestart On 【mod_speedycgiのhttpd.conf】 LoadModule speedycgi_module modules/mod_speedycgi.so <IfModule mod_speedycgi2.c> AddHandler speedycgi-script .pl <Location /> Options ExecCGI </Location> </IfModule> ↑どこかの板からパクったのをそのままベンチで使用
519 名前:nobodyさん mailto:sage [2006/07/23(日) 16:46:30 ID:???] > ↑どこかの板からパクったのをそのままベンチで使用 各値が適切かどうか検証もせずに?
520 名前:nobodyさん mailto:sage [2006/07/23(日) 17:32:07 ID:???] >>519 検証する必要のある値はどのあたりでしょうか?
521 名前:520 mailto:sage [2006/07/23(日) 17:54:05 ID:???] 追伸 パクる←表現がおかしかったです。 書き方をマネしたと解釈してください。 パスはチェック済みです。 mod_speedycgi.soやmod_speedycgi2.cがどのような動きをするかはまるで分かりません。 とりあえず試して問題なければOKなレベルでmod_speedycgiを動かしています。
522 名前:nobodyさん mailto:sage [2006/07/24(月) 00:09:47 ID:???] >>517 > use CGI::SpeedyCGI; > my $sp = CGI::SpeedyCGI->new; mod_speedycgiの下でSpeedyCGIを呼び出すという不自然なコードになってない? 一度httpd.confからmod_speedycgiの設定を外し、SpeedyCGIのみでどうなるか確認すべきではない?
523 名前:nobodyさん mailto:sage [2006/07/27(木) 22:44:38 ID:???] 511がどうしているか、とっても気になる。
524 名前:nobodyさん mailto:sage [2006/07/27(木) 23:27:34 ID:???] 馬鹿は放置でいいんじゃね?
525 名前:nobodyさん [2006/08/01(火) 20:45:09 ID:PBUCPfNT] 最近落ち着いてきたスレ
526 名前:nobodyさん mailto:sage [2006/08/02(水) 06:54:06 ID:???] 落ち着いたというか、アフォベンチ厨がいなくなっただけっしょ?
527 名前:nobodyさん mailto:sage [2006/08/02(水) 15:58:35 ID:???] 釣ろうと必死だね
528 名前:nobodyさん mailto:sage [2006/08/02(水) 22:12:09 ID:???] 釣り釣られの関係が成立することがあったとして、何か問題なんかね。
529 名前:nobodyさん mailto:sage [2006/08/03(木) 00:02:46 ID:???] まあ>526のようなあからさまな釣りは良くはないわな。
530 名前:nobodyさん mailto:sage [2006/08/03(木) 01:29:14 ID:???] 問題だろw
531 名前:nobodyさん mailto:sage [2006/08/16(水) 04:31:26 ID:???] mod_perl2を使ってみたんですがApache2::Reloadで更新された.plファイルを 正常に再読込しません。Ver1.99の時は問題ありませんでした。 ReloadDebugをonにしてみると該当する.plに対してチェックが掛かってることは 確認しました。相対パスが駄目なのかと思い絶対パスにしてみたけど改善されず。 結局%INCのファイルを独自に検査して更新があったらdeleteするというルーチン 組み込んで希望の動作が出来てますが出来ればReloadで済ましたいです。 環境はFedora core5 mod_perl-2.0.2-5.1 perl-5.8.8-5です。
532 名前:nobodyさん mailto:sage [2006/08/16(水) 15:33:50 ID:???] Apache2のバージョンは何ですか?
533 名前:nobodyさん mailto:sage [2006/08/16(水) 15:38:54 ID:???] >>530 Apache2::Reload関係のhttpd.confをさらすべき。 後、Ver1.99の時とhttpd.confは同じもの?
534 名前:531 mailto:sage [2006/08/18(金) 12:39:47 ID:???] 情報が不足していてすみません。Apacheのバーションはhttpd-2.2.2-1.0です。 検証は出来るだけ最小設定で行いました。 <VirtualHost *> 略(ServerName、DocumentRootのみ設定) PerlModule Apache2::Reload </VirtualHost> 以下のオプションを色々変えたりコメントアウトしながら検証しました。 # PerlInitHandler Apache2::Reload # PerlSetVar ReloadDirectories "/home ./" # PerlSetVar ReloadDebug On # PerlSetVar ReloadAll Off # PerlSetVar ReloadModules "module*" Ver1.99の時は PerlModule Apache::Reload のみで期待通りの動作をしていました。
535 名前:nobodyさん mailto:sage [2006/08/18(金) 13:05:02 ID:???] >>534 d.hatena.ne.jp/naoya/20060108/1136692447 現在、mod_perl には互換性のない三つのバージョンが存在してます。 mod_perl 1.0 (1.29) mod_perl 1.99 mod_perl 2.0 (2.0.2)
536 名前:nobodyさん mailto:sage [2006/08/18(金) 14:32:05 ID:???] >>531 > 正常に再読込しません。 正常じゃない状態がどういう状態なのかよくわからんのだが、 ttp://d.hatena.ne.jp/holidays-l/20060731/p2 こういうことなんジャマイカ?
537 名前:gan [2006/08/19(土) 06:24:16 ID:jPBCnjia] すれ違い課も知れませんが、SpeedyCGIについて教えていただけたら、、。 【環境概要】perl5.8.3、apache、Linux 【状態】speedyCGIのモジュールをCPANのコマンドラインからインストール済み 【使用可能か?】一回目のスクリプト実行は成功、しかし2度目の実行では エラーになります。スクリプト常駐の寿命を5秒に設定しといて、一回スクリ プトを実行させると成功、続けて5秒以内に他のページをアクセスすると エラーとなりますが、5秒以上待てば(スクリプトが死ぬまで待って、新規に スクリプトを読み込ませれば)成功します。あきらかにメモリ上に 存在するスクリプトを2回目以降呼び出すとエラー、という状況です。 【他にもモジュールを使用しているか?】 Net::amazonのモジュールを使用しており、エラーになる場合はこの モジュールを利用して searach -> (asin => "xxxxxxxxx")とやると 以下のようなエラーが吐かれます(1度目は正常、2度目からエラー) 【エラーログ】 Premature end of script headers: mr.cgi, referer: airrack.jp/ Undefined subroutine &main:: called at /usr/lib/perl5/site_perl/5.8.3/Log/Log4perl.pm line 133., referer: hogehoge.jp/hoge 【エラーログに出てくるLog4perlについて】 Log4perl.pmというモジュールは、おそらくNet::Amazonがログをはくために 使っていると思われますが、詳細はよく分かりません。どちらのモジュールも最新 に上げています。 Log4perlモジュール内で変なキャッシュが残っているのでしょうか? その場合モジュールをいじって直すしかないのでしょうか・・・。 googleで1日中検索しましたが情報がありませんでした。 かなり嵌ってしまいました。speedyCGIでNet::Amazon使ってらっしゃる方 で同様の状態になっている方いませんか?よろしければ情報いただけたら。。 よろしくお願いいたします。
538 名前:531 mailto:sage [2006/08/19(土) 07:14:50 ID:???] 535さん、536さんありがとうございます。 どうやら536さんの記事に諸に当てはまるようなので記事に書いてあるとおり パッチを当てて再度検証しこちらで報告しようと思います。 今は酔っぱらい人間です。
539 名前:nobodyさん mailto:sage [2006/08/19(土) 13:45:18 ID:???] >>537 本人もわかってるようですが、グローバル変数の問題なのは間違いないでしょ。 まず基本的な事から確認。 メインのスクリプトにはグローバル変数の初期化処理がある?
540 名前:gan [2006/08/19(土) 18:55:37 ID:jPBCnjia] >>539 レスありがとうございます。 >メインのスクリプトにはグローバル変数の初期化処理がある? グローバル変数の初期化処理があるというのは メインのスクリプトにてmy $hogeとすることで初期化を行っています。 もしかしてmy $hoge=''とする必要があるのでしょうか?
541 名前:nobodyさん mailto:sage [2006/08/19(土) 19:18:24 ID:???] >>540 my $hoge; では初期化されないです。 (通常のCGIならOK) > もしかしてmy $hoge=''とする必要があるのでしょうか? そうです。
542 名前:nobodyさん mailto:sage [2006/08/19(土) 22:02:30 ID:???] mod_perlだと my $hoge; でいいはずだけどSpeedyCGIだと違うの? undefと空文字では意味合いが全く違うと思うんだけど。
543 名前:541 mailto:sage [2006/08/20(日) 01:05:51 ID:???] >>540 >>542 漏れの間違い。 our $hoge;は× my $hoge;は○
544 名前:nobodyさん mailto:sage [2006/08/20(日) 01:11:35 ID:???] このスレ読んでると mod_perl が最強と言うことなんでしょうか?
545 名前:nobodyさん mailto:sage [2006/08/20(日) 01:36:28 ID:???] ApacheAPI使いたいならね。
546 名前:gan [2006/08/20(日) 12:17:16 ID:9VgwFZeI] >>543 >> もしかしてmy $hoge=''とする必要があるのでしょうか? >そうです。 全てmy $hoge='';としました! しかし現象はまったく変わらずです。。。 使用しているモジュール(Net::Amazonなど)内の キャッシュをクリア、みたいな処理が必要なのでしょうか・・
547 名前:nobodyさん mailto:sage [2006/08/20(日) 12:52:06 ID:???] >>546 そりゃそうでしょ。 >>541 はなんか勘違いしてると思われるので、アドバイスにしたがうのはどうかと思われます。 アドバイスは、ちゃんと理解しているひとからもらわないと余計に混乱してしまうだけです。
548 名前:gan [2006/08/20(日) 12:59:32 ID:9VgwFZeI] >>547 さん ありがとうございます。 >>>541 はなんか勘違いしてると思われるので、 >アドバイスにしたがうのはどうかと思われます。 いえいえ、人の質問に回答するだけでも立派だと思います。 >>547 さん 自分で >使用しているモジュール(Net::Amazonなど)内の >キャッシュをクリア、みたいな処理が必要なのでしょうか・・ と書いておきながら実際のやり方が分からないのです。 Amazonを使う上でCache::Fileというモジュールを使用しています。 CGI::CacheというモジュールではspeedyCGIといっしょに使うときは こんな風にしたほうがいいよ、みたいな説明が載っていたのですが、 Cache::Fileについては特には、、、。どなたかヒントいただけたら 幸いです。
549 名前:400 mailto:sage [2006/08/20(日) 16:50:49 ID:???] データを整理してグラフにしました。 (一部データ追加) 興味があればのぞいてください。 rintaro.dip.jp/info/?c=pg&p=apbench
550 名前:nobodyさん mailto:sage [2006/08/20(日) 17:59:01 ID:???] >>548 ・CGI起動だと正常に動作するのか。 ・use strictしているか。 ・フロントでpackage ???;と指定していないか。 ・他にHTTP::***系のモジュールを読み込んでいないか。
551 名前:gan [2006/08/21(月) 01:42:09 ID:ZgHdKmUM] >>550 ご回答ありがとうございます。 >・CGI起動だと正常に動作するのか。 動作します。 >・use strictしているか。 しています。・・厳密に他の外部読み込みのライブラリ (escape.plみたいなやつ)はやっていないものもあるかも。 これ全部やるべき? >・フロントでpackage ???;と指定していないか。 ・・これどういう意味でしょうか。。よろしければ詳しくお願いします。 >・他にHTTP::***系のモジュールを読み込んでいないか。 読み込んでいないと思いますが、、現在使用しているモジュールが 依存関係にあるモジュールを勝手に読み込んでいる可能性は否定 できません。チェック方法をご存知でしたら教えてくださいませ。
552 名前:245 mailto:sage [2006/08/21(月) 06:54:11 ID:???] >>549 乙です。グラフにすると分かりやすいですね。FastCGIの優秀さに 改めて驚きました。
553 名前:nobodyさん mailto:sage [2006/08/22(火) 18:30:01 ID:???] >>551 おつです。 もっぱらmod_perl使ってたけど考え直してみようかな。
554 名前:nobodyさん mailto:sage [2006/08/22(火) 23:01:06 ID:???] 初心者がベンチして、初心者に移行を促すスレはここですか?
555 名前:nobodyさん mailto:sage [2006/08/22(火) 23:07:44 ID:???] 誤解を招きやすい数値を元に決定を行い、誤った方向にすすんでしまう良い見本でしょう。 2ch だし。
556 名前:nobodyさん mailto:sage [2006/08/22(火) 23:58:25 ID:???] > 2ch だし。 2ch だと何かまずいのかな?
557 名前:nobodyさん mailto:sage [2006/08/23(水) 00:01:58 ID:???] 2ch は玉石混淆であることを言いたかっただけです。
558 名前:nobodyさん mailto:sage [2006/08/23(水) 01:13:42 ID:???] ならそう言えばいいのに。 誤解を招きやすい表現を使い、謝った方向にすすんでしまう良い見本ですね。
559 名前:nobodyさん mailto:sage [2006/08/23(水) 01:25:57 ID:???] 誤った方向にすすんでしまうのは玉石混交でいうところの"石"なわけだが (そうじゃないと意味が通じない)、それを分かった上でかきこんでいるのかなぁ。 A. 分かった上で書き込んでいる → 自ら石であることを認めている B. 気づかずに書き込んでいる → やっぱり石 いえ、玉石混淆なのは分かってますからあえてこれ以上追求しませんが。
560 名前:gan [2006/08/23(水) 07:26:53 ID:1++KeXhR] 551からその後です。 某サイトで、グローバル変数をすべてあぶりだす 方法を発見(%:: というハッシュに変数名が格納されている) そこでspeedyCGIの下記のように use CGI::SpeedyCGI; my $sp = CGI::SpeedyCGI->new; $sp->register_cleanup(\&clean_up); --------- sub clean_up{ map { $$_=undef; } keys %::;} とすると、2度目のアクセスもエラーが出なくなりました!! ・・が、書き出されるはずのHTMLが途中で終わってしまうという 現象が発生・・無差別にグローバル変数(300項目くらいでる)を 削除するとやはりまずいのか、、しかし影響のあるものがどれか 現在特定できず、、。どなたかアドバイスいただけたら。。
561 名前:nobodyさん mailto:sage [2006/08/23(水) 23:56:02 ID:???] > 現象が発生・・無差別にグローバル変数(300項目くらいでる)を > 削除するとやはりまずいのか、、しかし影響のあるものがどれか > 現在特定できず、、。どなたかアドバイスいただけたら。。 Perl 3 時代の糞スクリプトなら、ISP からもらえるチルダつきの 環境で動かしてりゃいいじゃん。
562 名前:gan [2006/08/24(木) 00:04:53 ID:p5O8tkz+] >Perl 3 時代の糞スクリプトなら、ISP からもらえるチルダつきの >環境で動かしてりゃいいじゃん。 ?
563 名前:nobodyさん mailto:sage [2006/08/24(木) 03:29:54 ID:???] ずっとここで乞食してないでまずuse strictしてそれでも駄目だったら質問しろよ。
564 名前:nobodyさん mailto:sage [2006/08/24(木) 09:58:19 ID:???] >>549 > データを整理してグラフにしました。 > (一部データ追加) > 興味があればのぞいてください。 > rintaro.dip.jp/info/?c=pg&p=apbench なんでworkerよりpreforkの方が速いの?誰か解説キボン
565 名前:245 mailto:sage [2006/08/24(木) 13:10:59 ID:???] >>560 グローバル変数を削除する必要はありません。
566 名前:gan [2006/08/24(木) 19:16:32 ID:p5O8tkz+] >>565 そ、そうなんですか? 245さんはどうされてますか?
567 名前:nobodyさん mailto:sage [2006/08/24(木) 21:21:23 ID:???] > 245さんはどうされてますか? 腹を切るなり、首にひもをかけるなり、、、
568 名前:gan [2006/08/24(木) 21:40:44 ID:p5O8tkz+] >>567 ?
569 名前:245 mailto:sage [2006/08/25(金) 15:29:41 ID:???] いやまあ、気にせんでくれ。次行こう。
570 名前:nobodyさん mailto:sage [2006/09/11(月) 06:35:42 ID:???] mod_python 最強ということでよろしいか?
571 名前:nobodyさん mailto:hage [2006/09/22(金) 16:52:21 ID:???] つまりHTMLが最強ってことだろ?>>385
572 名前:nobodyさん mailto:sage [2006/10/05(木) 22:11:58 ID:???] >>497 ワロスw pc8.2ch.net/test/read.cgi/php/1149505269/ スピード△ メモリ消費大 ApacheAPIをPerlで使えるのが長所
573 名前:572 mailto:sage [2006/10/05(木) 22:12:58 ID:???] 激しく誤爆