5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

mod_perlを使おう!

1 :名無しさん:01/11/07 17:42 ID:+Gux2iOQ
CGIを激速で実行できるmod_perlについて語りませう。
関連リンク等は>2

2 :1:01/11/07 17:42 ID:???
本家
http://perl.apache.org/

日本語解説サイト
http://www1.plala.or.jp/knambo/apa/mod_perl.html

cgi_to_mod_perl(英語)
http://www.perldoc.com/perl5.6.1/lib/cgi_to_mod_perl.html

mod_perl_traps(英語)
http://www.perldoc.com/perl5.6.1/lib/mod_perl_traps.html

3 :名無しさん@お腹いっぱい。:01/11/07 17:47 ID:???
名スレの予感

4 :1:01/11/07 17:52 ID:???
最近導入したのですがうまく動いてくれないで困りました。
use strict;はもちろんしてるし、変数の初期化もちゃんとしてて、それでも
動かないから、残っていたグローバル変数も必死(涙 で排除して、
それでも動かないのでよくよくmod_perl_trapsを読むと、「package宣言を
していないファイルをrequireするな」のようなことが書いてあってそれで
なんとか解決しました。html表示用のスクリプト(ヒアドキュメントで
書き出すだけの)をrequireしていたのですが、全部print_htmlという
サブルーチン名にしていて、それが原因でした。

5 :1:01/11/07 17:54 ID:???
ところで「グローバル変数は使っちゃだめ」みたいなことはよく言われますが、
環境変数($ENV{...})とかは大丈夫なのかな?
↑実はこれがスレ立てた動機だったりして(笑)

誰か教えて〜

6 :名無しさん@お腹いっぱい。 :01/11/07 17:57 ID:???
mod_perl MLって終わってるの? w
取り合えずFAQは....
正規表現の'o'はダメ
名前空間が変わる、Packageで修飾
exit(0);
$hoge = ''; でクリア
こんな感じ?

7 :名無しさん@お腹いっぱい。:01/11/07 18:00 ID:???
$main::ENV{'HTTP_HOGE'}

8 :名無しさん@お腹いっぱい。:01/11/08 00:54 ID:uKgtvIlV
>>5
%ENVはリクエスト毎にセットしなおされる。
だから、大丈夫だと思う。

といってもApache::Regstryなコードの話ね(あたりまえ)

9 :8:01/11/08 00:55 ID:???
う。
Apache::Registryだ。

10 :名無しさん@お腹いっぱい。:01/11/08 07:45 ID:???
コンパイル繋がりでPerlccとかも良い?
FastCGIとかSpeedyとかも    :-)

perlccはB::Cは殆ど速くならないね、ファイルは50KB位のが
800KBとかになった
B::CCに期待したいんだけどこっちは殆どharnessでこけるか
ポインタ周りでヲーニング出て無理やり実行したらコア、って感じ
面白いんだけどあの凶悪なヘッダは追う気にならなかった・・・

11 :名無しさん@お腹いっぱい。:01/11/08 18:15 ID:???
つれづれなるままに、cgi_to_mod_perlの翻訳でも。

12 :名無しさん@お腹いっぱい。:01/11/08 18:15 ID:???
[名前]
cgi_to_mod_perl - CGIの代わりにmod_perlを使うための最初のステップ

[説明]
READMEや他のmod_perlドキュメントに書かれているように、CGIの代わりとして
mod_perlを使うということは、mod_perlパッケージが提供する機能のうちのごく
一部分に過ぎません。ですが、それがmod_perlの一番メジャーな使い方ですので、
すぐ使えるやり方をこの文書で説明します。

[インストール]
INSTALLを読んでください。たいてい次のやり方で大丈夫です。

perl Makefile.PL && make && make install

[設定]
CGI代わりとしてmod_perlを使うときのお勧めの設定です。

Alias /perl/ /real/path/to/perl-scripts/

<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
</Location>

'Location'の指すのはURIで、ディレクトリではありません。上の<Location /perl>
というのは、

<Location http://www.hoge.com/perl>
ということです。

13 :名無しさん@お腹いっぱい。:01/11/08 18:23 ID:???
こうすると、指定した場所の下にあるファイル(あなたのファイルシステムで
/real/path/to/perl-scripts/ 以下にあるファイル)はApache::Registryモジュールに
よって処理されることになります。(Apache::RegistryはCGI環境をエミュレートする
モジュールです。)
ファイルは存在していて、実行可能で、それに'Options ExecCGI'がオンになっていなければ
なりません。

もし、どこに置かれたファイルでもmod_perlが拡張子を見てスクリプトを実行してくれるように
したいなら、設定はこんな感じです:

<Files ~ "\.pl$">
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
</Files>

14 :名無しさん@お腹いっぱい。:01/11/08 18:35 ID:???
'ScriptAlias'はmod_perlでは'効かない'ことに注意してください。

[CGIの移植]

[I/O]
Perl5.004を使っているならほとんどのCGIスクリプトは手を加えずにmod_perlで動くでしょう。
もし5.003をお使いなら、Perlのビルトイン関数 read() と print() はCGIと同じように動いて
くれません。CGI.pmを使っているなら、昔ながらの print() の代わりに $query->print を
使ってください。

[ヘッダ]
mod_perlはデフォルトではヘッダをまったく送りませんが、もし変えたければこうします。

PerlSendHeader On

これでレスポンス行や一般的なヘッダがmod_cgiと同じように送られるようになります。
ですが、mod_cgiと同じように、PerlSendHeaderも終わりの改行コードは送りませんので、
スクリプト自身が送らなければなりません。例えば:

print "Content-type: text/html\n\n";

15 :名無しさん@お腹いっぱい。:01/11/08 18:40 ID:???
もしCGI.pmを使っていて'print $q->header'としているなら、PerlSendHeaderは
必要「ありません」。

[NPHスクリプト]
'nph'CGIスクリプトを実行したいなら、コードにこれを追加してください:
local $| = 1;

普段 PerlSendHeader を On にしているなら、httpd.confにこれを追加してください:
<Files */nph-*>
PerlSendHeader Off
</Files>

16 :名無しさん@お腹いっぱい。:01/11/08 18:50 ID:???
[プログラミング作法]
CGIはだらしないプログラミングを許してくれますが、mod_perlは違います。
なぜでしょうか? CGIスクリプトの一生はは一回のHTTPリクエストで終わりますし、
それぞれ独立したプロセスです。リクエストが終わればプロセスはなくなり、
グローバル変数や開けっ放しのファイルなど、なにもかもきれいに片付けて
もらえます。しかしmod_perlで走るスクリプトはもっと長い生涯を送ります。
何回ものリクエストの間に、一つのプロセスでいくつものスクリプトが処理されます。
つまり、自分で後片付けをする必要があるのです。耳にされていると思いますが:

必ず'use strict'と'-w'オプションを使うこと!

17 :名無しさん@お腹いっぱい。:01/11/08 18:57 ID:???
このことはmod_perlでのPerlでは他のどんな環境での場合よりも重要です。
必要ではありませんが、「強く」推奨されています。それに長い目で見ると
時間の節約にもなります。
スクリプトをきれいに書いておいて損はないですよ!

[落とし穴]
mod_perl_traps参照

18 :名無しさん@お腹いっぱい。:01/11/08 18:59 ID:???
ふ〜時間かかっちゃった。(もうあったりして・・・日本語訳)
mod_perl_trapsは後ほど。
他にやってくれる人がいたらお任せします〜

19 :名無しさん@お腹いっぱい。:01/11/09 02:11 ID:S+GQdZO0
自分のSUN Cobalt RaQ4の環境変数見てみると、
mod_perlとあります。これはもうmod_perlが入っているってことなんでしょうか?

20 :名無しさん@お腹いっぱい。:01/11/09 02:30 ID:???
mod_perlを入れると
$ENV{SERVER_SOFTWARE} に'mod_perl'が追加され,
$ENV{GATEWAY_INTERFACE} が 'CGI-Perl/1.1' になって
$ENV{mod_perl}が設定されるらしい。

iswebはSERVER_SOFTWAREしか変わってない。

21 :名無しさん@お腹いっぱい。:01/11/09 08:55 ID:nd1WMoVX
うちの場合(影響ありそうなもののみ)
SERVER_SOFTWARE = Apache/1.3.20 (Unix) mod_perl/1.26
GATEWAY_INTERFACE = CGI-Perl/1.1
PERL_SEND_HEADER = On
MOD_PERL = mod_perl/1.26

22 :名無しさん@お腹いっぱい。 :01/11/09 19:12 ID:???
>>10
バイトコードじゃ殆ど意味ないねえ...
俺もCCは殆ど使ってないよ
関係無いけど、某無料サーバ(perl他一切無し)にバイナリ上げてhtaccessで
ExecCGIオーバーライドしたらバイトコードが動いた (w

23 :名無しさん@お腹いっぱい。:01/11/09 20:44 ID:???
>>18
ありがとー、trapは一応有るけど機械翻訳丸出しみたい
http://www.google.com/search?q=cache:yAlKb0cn18k:www2.tech-unet.ocn.ne.jp/__dic__/perl/mod_perl_cgi.html+mod_perl_traps&hl=ja&lr=lang_ja
5003以前でprintが駄目ってのが気になるなぁ・・・
バッファが残っちゃうのかな? 5003使ってないから良いけど

24 :名無しさん@お腹いっぱい。:01/11/09 23:29 ID:???
ネストしたサブルーチンはトラップしにくい

おいらは、speedyCGIのほうが好き。
実際mod_perlはリソース食いすぎ

25 :名無しさん@お腹いっぱい。:01/11/10 18:55 ID:QgGGhVTZ
厨な質問なんですが、
PerlCGIで使っていたスクリプトを、そのままmod_perlで動かした場合はどれくらい速くなるものなのですか?
どんな種類のスクリプトに効果的なのかも分かりません。
宜しければ教えていただけないでしょうか?

26 :名無しさん@お腹いっぱい。:01/11/10 20:44 ID:???
>>どれくらい速くなるものなのですか
解らんけど所詮バイトコード並、PerlはPerlだから、4.5倍なんじゃ無いの?
>>どんな種類のスクリプト
呼ばれれば呼ばれる程効果が有る、勝手に永久常駐して自分でリクエスト捌くようなのだと
全く意味無し。

つーかroot持って無いと使えないんだけど、その辺はOK?

27 :25:01/11/10 21:21 ID:???
>>26
回答ありがとうございました。
例えばWebチャットの場合は効果がありそうですね。

mod_perlが組み込まれている無料サーバ(珍しいけど)がありますので(^^;;;

28 :名無しさん@お腹いっぱい。:01/11/10 21:30 ID:???
Xreaか・・・
チャット置いてレン鯖板で晒されないようにな w

29 :25:01/11/10 23:07 ID:???
>>28
いえ、設置を考えてるのは掲示板なので、普通に使っても問題ないと思います。
でも共有サーバですし、少しでも負荷を削減できないかと、mod_perlの利用を考えました。

お気遣いありがとうございます(^^;

30 :名無しさん@お腹いっぱい。:01/11/11 22:41 ID:???
http://www.din.or.jp/~bigstone/cgilab/cgitips/mod_perl1.html
むつかしい・・・

31 :名無しさん@お腹いっぱい。:01/12/03 01:28 ID:VLJw8Nzl
保守age

32 :名無しさん@お腹いっぱい。:01/12/07 02:36 ID:???
1ch.tvではグローバル変数つかいまくりでも、mod_perlしてました。
先生、mod_perlって別に難しくないんですね!age

33 :名無しさん@お腹いっぱい。:01/12/08 02:05 ID:???
デキネーヨ
名前空間グチャグチャで動く訳ネーダロ -_-...

34 :名無しさん@お腹いっぱい。:01/12/10 00:26 ID:ko+ATGtx
mod_perlなんて使うよりPHP勉強しろ。
もうPerlが滅びるのも時間の問題なのだから。

35 :名無しさん@お腹いっぱい。:01/12/10 01:19 ID:???
>>33
Apache::PerlRunなら動くでしょーよ。へたれだけど。

36 :名無しさん@お腹いっぱい。:01/12/10 14:22 ID:u4VetMyU
>>34
PHPの勢いの方が心配だよ〜。

37 :仕様書無しさん:01/12/10 19:34 ID:???
>>35
ああそっか、使った事無いから>Apache::PerlRun
これだと殆ど意味ないよね? >毎回コンパイル
実験する価値はあるかにゃ・・・

38 :名無しさん@お腹いっぱい。:01/12/11 06:57 ID:???
Perl自体をexec()しない分、CGIと比べると割と軽くなるYO!
CGIをそのまま使える場合も多いから、性能と開発コストを天秤にかければ、
十分ペイする場合も多いような。

39 :名無しさん@お腹いっぱい。:01/12/11 14:24 ID:QvfYRs1F
Apache/1.3.22 (Win32)にmod_perl入れようということで
ソース落としてきたんですけど、makefile.pl実行してもmod_perl.makはみつからないし
makefileはnmakeで通らないしと、なんかおかしいです なんかファイル足らんのかなぁ?
つーかWin32バイナリってどっかにないですかね?

40 :抹茶 ◆RojWUtWg :01/12/11 14:58 ID:???
なるほど、ちょっと解説サイトを色々見てみたけど
mod_perlという代物はそれほど難しいというわけでもなさそうだ。

41 :名無しさん@お腹いっぱい。:01/12/11 15:17 ID:ebIAeWdW
>>39
PPMでインストールできたと思うよ。
http://apache.perl.org/distributions.html

42 :名無しさん@お腹いっぱい。:01/12/11 20:43 ID:ebIAeWdW
>>40
既存のスクリプトをPerlRunやApacheRegistryで動かす分には
殆ど変更は必要ない。

だけど、やっぱApache::*なモジュールをつくるのが
面白いYo!

43 :名無しさん@お腹いっぱい。:01/12/11 21:46 ID:ORPF/X5f
modperl-mlで出てた。Win32へのmod_perlインストール手順だとさ

http://www.gihyo.co.jp/wdpress/correctVol1_Perl.html

44 :のーとりあすびっぐ:01/12/13 20:30 ID:BEbOFXi+
suexec が使える mod_perl みたいなのってないですかね。
suexec っていうぐらいだから 毎回 exec しなきゃいけないんだろうけど。
うーむ。

45 :名無しさん@お腹いっぱい。:01/12/13 23:09 ID:???
>>44
別portで別uidのapacheを動かしておいて、
ProxyPass /path/to/vdir/ http://localhost:port/hogehoge/
ProxyPassReverse /path/to/vdir/ http://localhost:port/hogehoge/
みたいな感じでメインのapacheの一部に見えるようにするってのはどうよ。

46 :名無しさん@お腹いっぱい。:01/12/16 22:54 ID:???
#!/usr/bin/perl
use CGI;
$q = new CGI;
print $q->header;
print "Hello, world\n";
をCGI、Apache::Registry、Apache::PerlRunで動かしてab -c10 -n1000してみた。
環境はPentium II 400MHz、メモリ512MB、FreeBSD 4.4-STABLE。

CGI
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 7 67.3 0 1181
Processing: 171 1735 429.2 1738 3010
Waiting: 166 1729 430.0 1733 3005
Total: 171 1742 430.7 1745 3130

Apache::Registry
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 18 11.0 18 133
Processing: 24 25 11.9 25 144
Waiting: 5 21 11.5 20 139
Total: 33 44 10.6 43 148

Apache::PerlRun
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 1 16 12.8 15 197
Processing: 28 35 45.2 30 1006
Waiting: 4 30 44.4 26 986
Total: 28 51 46.0 46 1033

たしかにApache::Registryの方が速いけど、CGIに比べればApache::PerlRunも
かなり速い。BEGINブロックへの追い出しをきっちりやっていけばApache::Registry
とApache::PerlRunとの差は開くだろうけどね。

47 :名無しさん@お腹いっぱい。:01/12/16 23:01 ID:???
ちなみに、
main() { printf("Content-Type: text/html\n\n"); printf("Hello, world\n") }
をコンパイルしたCGIだと
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 4 13.2 0 90
Processing: 10 105 345.4 11 2729
Waiting: 0 100 345.2 10 2725
Total: 10 110 346.3 11 2729

PHP 4.0.6で <?php echo("Hello, world\n"); ?> だと
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 15 6.2 15 36
Processing: 12 20 10.6 19 290
Waiting: 5 17 10.5 16 286
Total: 30 35 8.5 34 293

もちろん、これは初期化にかかる時間を計測しているようなものなので、
実際のスクリプトでは違った結果が出ると思う。
(それにしてもCGIでperlを動かすのは遅すぎ)

48 :名無しさん@お腹いっぱい。:01/12/16 23:19 ID:???
Apache::PerlRunの結果が違ってた。本当は↓。欝氏。
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 21 29.2 10 229
Processing: 8 101 295.4 42 3759
Waiting: 0 92 293.3 33 3703
Total: 8 122 295.5 80 3790

49 :名無しさん@お腹いっぱい。:01/12/17 00:18 ID:fVST7IKB
>>46
うぁ、ほんと速いね。
でもなあ。suexec 出来ないのがなぁ。
一般ユーザで気軽にディレクトリ掘ったりできないのがちょっと。
FastCGI とかどうなんだろ。
入れてみっか。

50 : :01/12/18 22:35 ID:???
厨質で悪いんですが、mod_perlってan httpdでも使えるんですか?

51 :名無しさん@お腹いっぱい。:01/12/19 00:04 ID:???
>>50
mod_perlはApacheのモジュールなので、対応しません。

52 :名無しさん@お腹いっぱい。:01/12/19 01:40 ID:JMF99QDd
どうしても suexec したいんで、SpeedyCGI にしました。
mod_perl と普通の CGI の速度比が 100:1 だとすると、
SpeedyCG : 普通のCGI は 50:1 ってかんじかなぁ。

一行目の書換えで動くかとおもったけど、やっぱ多少のスクリプトの修正が必要だった。
行儀よくしろってか...

53 :名無しさん@お腹いっぱい。:01/12/19 04:30 ID:???
前にこの板のどこか(たぶん)で読んだんだけど
別ユーザ+別ポートでもう一つApache動かして
本体側にAliasするってのが有った。
現実的かどうかは分からんけど、結構面白そうだよね。

54 :名無しさん@お腹いっぱい。:01/12/19 04:32 ID:???
と思ったら45に書いてるじゃん (鬱
逝ってくる。。。

55 :名無しさん@お腹いっぱい。:01/12/19 19:43 ID:tRuF1VkQ
>>53
うーん。やりすぎって感じがしないでもない。
ちゅうか、それだったら、Apache 立ち上げないで
必要最低限の HTTP を解釈する独自デーモンでも書いたほうがいいような。

56 :名無しさん@お腹いっぱい。:01/12/19 21:58 ID:xcH3mu33
>>55
そうかなあ。
mod_perl環境の場合、前段にHTTPアクセラレータを
置くのは割と一般的だと思うんだけど。

こいつで振り分ければ良い訳だから
案外現実的な解かも...と思った。

57 :名無しさん@お腹いっぱい。:01/12/20 05:12 ID:RDMFULhn
>>56
HTTPアクセラレータがなんだかわかってないDEATH。

一般的な mod_perl 環境ってどんなのなんでしょう。
普通はあれですよね。サイト全体の為のスクリプトをmod_perlで動かしたりするんですよね。

58 :名無しさん@お腹いっぱい。:01/12/20 12:24 ID:tX1BaRx6
mod_perlって、httpdが太るじゃないですか。

画像とか静的なHTMLを出力するために、こんな大きなhttpdを
使うのは無駄なので、squidみたいなproxyを前段におくことが
あります。これがHTTPアクセラレータ。

同じマシンの中で両方するなら、
squid : port 80
mod_perl: port 8080
みたいな感じ。

59 :名無しさん@お腹いっぱい。:01/12/20 12:27 ID:sKSPgKeT
>>57
squid等、キャッシュサーバーをwebサーバーの入り口において、
サーバーの負荷を軽くする技術です。
mod_perl組み込むと、httpdの実行イメージが肥大するので、
画像や、html等はmod_perlのhttpdでサービスするのは無駄です。
そのため、
動的ページ→mod_perl
静的ページ→軽量apache、mathopdやboa,thttpd等
と振り分けると理論上はパフォーマンスが向上するはずです。
perl.apache.orgにも、この手法が公開されてます。
私も実際に試しましたが、squidのオーバーヘッドが結構でかいのと、
squidのキャッシュコントロールの設定が難しかったので、
やめました。
ただ、セキュリティの点で導入するのならメリットあると思います。
色々やった末、軽量apache+speedycgiが、もっとも
確実で、パフォーマンスがいいと思いました。

60 :名無しさん@お腹いっぱい。:01/12/20 12:53 ID:???
>>58-59
ケコ-ン!

61 :名無しさん@お腹いっぱい。:01/12/21 07:03 ID:jk5ftRfj
>>58,59
色々勉強になりました。
とりあえず、perl.apache.org を読んでみます。
ありがとうです。

62 :名無しさん@お腹いっぱい。:01/12/21 11:04 ID:vI34GlQ7
squid httpdアクセラレーターを語ろう
http://pc.2ch.net/test/read.cgi/php/998166103/

63 :名無しさん@お腹いっぱい。:01/12/21 16:25 ID:kuKW9GTl
mod_perl環境でもプロセスIDはPerl/CGI呼び出す度に変わりますか?

64 :名無しさん@お腹いっぱい。:01/12/21 22:19 ID:IUk0HPIs
cgiを止めてPHPオンリーってのはダメ?

65 :名無しさん@お腹いっぱい。:01/12/21 22:41 ID:vI34GlQ7
>>63
プロセスIDはApacheのプロセス毎についてますが...?
#外してるよな...

>>64
好みの問題でしょう。ちなみにmod_perl環境ではperlでCGIを使う意味が
あまりありません。もしかして誤爆ですか?

66 :63:01/12/21 23:00 ID:???
>>65
今テンポラリファイル名に$PID使ってるので,mod_perlでもちゃんと動くかなぁと思って聞きました。
よく考えるとperlがhttpdになるだけなので だいじょうぶそうですね。
ありがとうございました。

67 :名無しさん@お腹いっぱい。:01/12/22 02:08 ID:???
>>66
$PID使うよりも$UNIQUE_ID使った方が安全と思われ。
将来mod_perlが同一プロセス、複数スレッドで動くようにもなった場合はまるかもよ。

68 :名無しさん@お腹いっぱい。:02/01/02 14:28 ID:z//VSzFn
Apache::Registry環境でPATH_INFOを使っていないときに
$ENV{'PATH_INFO'}を参照したら前回のPATH_INFOが
残ったままになってるんですが回避の方法って無いんですかね?

69 :名無しさん@お腹いっぱい。:02/01/02 20:06 ID:???
>>68
手元の環境で試してみたところ、$ENV{'PATH_INFO'} はちゃんとクリアされて
たよ。PID が変わってないことも確認した。

とは言え、実際そっちではそうなってるんだろうから、当面の回避策としては
REQUEST_URI と SCRIPT_NAME を使って本当に自分が PATH_INFO 付きで呼ばれ
たのかを確認するしかないかな。

70 :名無しさん@お腹いっぱい。:02/01/05 21:34 ID:LDyBbo+H
スイマセン、質問いいすかー?
とりあえず、mod_perl-1.26は動いてるんですけど、気になることが。

perl Makefile.PL USE_APXS=1 WITH_APX=/path/to/bin/apxs EVERYTHING=1

でMakefileつくってmakeの後、make testしたとき、
Can't make test with APXS (yet)
って出るけど、これはこれで問題ナシなんでしょーか。

Makefileのソースみてもこれしか
出ないようになってるからいいんだろうが・・・。

INSTALL.apaciに明記してある手順、
=head2 Build mod_perl as DSO outside Apache source tree via APXS
ではmake testも入ってるけど
実質的には意味のないステップなの?

気になります。だれか教えて。長くてスマソ。

71 :名無しさん@お腹いっぱい。:02/01/10 14:07 ID:???
age

72 :名無しさん@お腹いっぱい。:02/01/12 03:23 ID:9iEYLiJr
あげてみよう。

73 :名無しさん@お腹いっぱい。:02/01/25 00:51 ID:???
おお、ためになった。

74 :ほげ:02/01/25 00:56 ID:jfCY728M
おお、だめになった。

75 :名無しさん@お腹いっぱい。:02/02/01 01:56 ID:???
運用が難しい(一般的にあまり利用されていない)
→KENTさんの技術力でカバー
http://kent.parks.jp/over3.html

YYボードも動きますか?

76 :名無しさん@お腹いっぱい。:02/02/01 13:01 ID:???
>>75
>>32-35 辺り参照。

77 :名無しさん@お腹いっぱい。:02/02/01 16:37 ID:uE2BC2dR
他スレでも出てたけど
mod_perl vs PHP + Zend Optimizer
ではどっちが早いの?
すげー気になる。

78 :名無しさん@お腹いっぱい。:02/02/01 22:22 ID:???
http://kent.parks.jp/over3.html
>「mod_perl」とは、WEBサーバーでCGIを高速に動かすためのツールです。
さすがKENT (爆)

79 :名無しさん@お腹いっぱい。:02/02/03 21:19 ID:nVjpXt8Y
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer
mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer mod_perl vs PHP + Zend Optimizer

80 :名無しさん@お腹いっぱい。:02/02/03 22:20 ID:???
>79
マルチは感心しないな。

81 :Redhater:02/02/04 02:40 ID:r5AiMbOu
mod_perlを使いつつ、suexecすることってできるんですか?
いろいろやってみたのですができません・・・。

http://www.goodbreeze.com/

82 :名無しさん@お腹いっぱい。:02/02/04 02:48 ID:???
>>81
できない。

83 :名無しさん@お腹いっぱい。:02/02/09 23:28 ID:???
mod_perlの事を知りたく思っています。
借りてるサーバーでmod_perlが使えるそうなので、軽くなるならと思い
色々調べはじめました。
ところがgoogleでmod_perlの事を検索したのですが、検索キーワードが
良くないのかmod_perlのインストールの方法とかばかりが引っかかり、
実際にコーディングをどうすればいいとか具体的な利用法とかの
載っているページが見つかりませんでした。
もしどなたか詳しく説明をされているサイトをご存知でしたら、
教えていただけないでしょうか?
よろしくお願いします。

84 :名無しさん@お腹いっぱい。:02/02/09 23:44 ID:7ll9Q9qB
>83
-w付けて,use strictして,
グローバル変数はなるべく使わないようにして,
もし使う時も初期化をきちんとやる,
とかかなぁ。
漏れも知りたいのであげ

85 :名無しさん@お腹いっぱい。:02/02/09 23:49 ID:WSZ5EavI
>>83
>>11-19

86 :名無しさん@お腹いっぱい。:02/02/10 07:55 ID:???
何か適当にメールサーバ動かしてるけど、コードはそれほど変わらないよ
強いて言うなら、Packageの修飾をちゃんとする事とパイプ何かの
後片付けを忘れない事位かなぁ・・・・
漏れの書いたの見ると意識的に初期化する様なコードになってた
$scalar = ''; @ary = (); とか

あ、正規表現のoスイッチも駄目だったかも

87 :名無しさん@お腹いっぱい。:02/02/10 11:55 ID:TL971BdT
うーむ、わかんねぇ。

たとえば、helloworldを表示するスクリプトを
mod_perlで動かすにはどうすんの?

88 :83:02/02/10 12:56 ID:TkkSs6mB
>87
自分もそれを聞きたいです。
それの説明されているサイトの紹介でも良いのでどなたかお願いします。

その後に>11-19を参考にさせてもらおうと思います。

89 :名無しさん@お腹いっぱい。:02/02/10 14:32 ID:GSOYlDJs
基本的には、>>84で問題ないが、
mod_perlでは、
my() scoped variable in nested subroutines
という特殊な問題があるので注意。

http://perl.apache.org/
http://perl.apache.org/guide/
http://perl.apache.org/dist/cgi_to_mod_perl.html
http://perl.apache.org/dist/mod_perl_traps.html
は必読。
日本語ドキュメントは期待しても駄目よ。

90 :名無しさん@お腹いっぱい。:02/02/11 00:46 ID:???
>>89
そこの中なら、
CGI to mod_perl Porting. mod_perl Coding guidelines.
http://perl.apache.org/guide/porting.html
見れば良いんでないの。

91 :名無しさん@お腹いっぱい。:02/02/11 21:03 ID:???
あと、これが有るな。早く日本語版ホスィ
mod_perl Pocket Reference
http://www.oreilly.com/catalog/modperlpr/

92 :名無しさん@お腹いっぱい。:02/02/23 22:36 ID:???
質問です。
以下はSocketを使って2ちゃんのトップページを表示する
簡単なCGIスクリプトですが、mod_perl経由だと動いてくれません。
mod_perlが動くことは確認したのですが、Socketを使うとなると
どうしても正常に動いてくれません。何か良いお知恵を・・・。
-----
use Socket;
socket('SOCK',PF_INET,SOCK_STREAM,getprotobyname('tcp'));
connect('SOCK',sockaddr_in(80,inet_aton('2ch.net')));
select((select(SOCK),$|=1)[0]);
print SOCK "GET http://2ch.net/ HTTP/1.0\r\n\r\n";
print "Content-type: text/html\n\n";
print <SOCK>;

# Apache/1.3.23 (Win32) mod_perl/1.26_01-dev

93 :名無しさん@お腹いっぱい。:02/02/23 22:48 ID:???
私的にはIO::Socketのほうが好き。

94 :名無しさん@お腹いっぱい。:02/02/23 23:31 ID:???
>>92
なんかおかしくないか?
GET / HTTP/1.0
じゃないの?

95 :92:02/02/23 23:45 ID:???
>>93
タイムアウトとかあってよさげです。
今度、使ってみようかと思います。
>>94
そうですね。正しくは
print SOCK "GET / HTTP/1.0\r\n";
print SOCK "Host: 2ch.net\r\n\r\n";
ですね。お手数かけてすいません。

いずれにせよ動いてくれませんが・・・。

96 :名無しさん@お腹いっぱい。:02/02/24 02:12 ID:1IBSQesy
>>92
use strict;
perl -wで動かして、apacheのログ見てみてんさい

97 :名無しさん@お腹いっぱい。:02/02/24 02:19 ID:???
素直にLWP。

98 :”管理”者:02/02/24 04:08 ID:???
テスト書込み1

99 :92:02/02/24 08:13 ID:???
>>97
LWPを使ってみたら動きました。
SocketやIO::Socketだと動かず、LWPだと動くのは何故だかわかりませんが...

いろいろとありがとうございました。
-----
use LWP::Simple;
print "Content-type: text/html\n\n";
getprint 'http://2ch.net/';


100 :ひろゆ子@暫定管&lre;直人:02/02/24 18:18 ID:???
>98
せめてこのくらいやって下さいですです。。。

101 :ひろゆ子@暫定管&lre;理人:02/02/24 18:19 ID:???
なんのテストしたかったんだろう?100げとしちゃった、てへ。

102 :名無しさん@お腹いっぱい。:02/02/24 19:21 ID:???
厨房丸だし

103 :名無しさん@お腹いっぱい。:02/02/28 20:41 ID:9QfD2oaF
>>87のやり方って結局どうなのよ?

104 :nobodyさん:02/03/03 02:09 ID:Z7la6eJB
こんなのあったよー。

Apache+mod_perlのCSS予防法
http://slashdot.jp/article.pl?sid=02/03/02/1150203
#クロスサイトスクリプティングの方。

個人的にはApache::*なモジュールよりも、
Apache::Regstryなコードを書くほうが多いから「ふーん」て感じ。

105 :fight:02/03/03 10:10 ID:sYgoE6A5
ちょっと皆さんこのページさぁどう思う
http://www.geocities.co.jp/Bookend-Ango/2352/


106 :nobodyさん:02/03/03 10:13 ID:???
>>105
いきなりwindowが開いてウザイ。板違い。宣伝氏ね。

107 :なぁ。:02/03/06 17:06 ID:R30flEyT
apache_1.3.23 and mod_perl-1.26
でmake testがとおらないーー!

Can't locate object method "new" via package "URI::URL" at ../blib/lib/Apache/te
st.pm line 252.
だと。
なんか、調べるとLWP::UserAgent.pmにパッチを当てろとか書いてあるけど、
../blib/lib/Apache/test.pm
に当ててるわけでないから、意味ないきがするんだよね。
どうしたらよい?
テストが通らないくらい、無視してよいですか?



108 :nobodyさん:02/03/06 18:29 ID:xRtVgBJD
>>107
モジュール類古くない?
とりあえずアップデートしてみたらどう?
perl -MCPAN -e '@mod = CPAN::Shell->r; CPAN::Shell->install(@mod)'

109 :nobodyさん:02/03/06 23:53 ID:???
苦労してmod_perlなんて使うぐらいなら
CでCGI組めばいいじゃん。

110 :nobodyさん:02/03/07 00:09 ID:???
C/CGIより速いからじゃない?

111 :nobodyさん:02/03/07 15:20 ID:???
>> 110
そだね。CGI屋には馴染めない部分があるかもしれないけど、
Perl屋には普通のことばっかだし。

112 :nobodyさん:02/03/07 17:20 ID:???
mod_perlとmod_phpだとどっちが速いの?

113 :nobodyさん:02/03/07 21:25 ID:???
http://www.hippo2000.net/cgi-bin/KbWiki/KbWiki.pl?cmd=disp&page=PHP%a4%ce%ca%fd%a4%ac%b7%da%a4%af%a4%c6%c2%ae%a4%a4%a4%cf%cb%dc%c5%f6%a1%a9
>>112
上のリソースによると、大差ないか、少しmod_perlの方が速いということらしい。


114 :nobodyさん:02/03/07 21:41 ID:572QyWU+
PHPって大した事ないんだね。

115 :nobodyさん:02/03/07 23:01 ID:???
Apache::ASP使ってみた。 いい感じだけど、エディテングで発狂。
ASPとかJSPな人、どんなエディタ使ってんの?


116 :nobodyさん:02/03/07 23:37 ID:???
>>115
Emacs + mmm-modeはどうよ。
ttp://mmm-mode.sourceforge.net/

117 :nobodyさん:02/03/08 00:30 ID:???
俺的には、HTMLに埋め込むのはHTML::Template程度が限界。


118 :115:02/03/08 01:18 ID:???
さんきゅ、見てみる。
ASPというより、perl scriptのヒアドキュメントの中に埋め込みたいのだけど…


119 :nobodyさん:02/03/28 11:19 ID:???
Apache::Registryを使用するためのconfigファイルの典型的なエントリ

Alias /perl/ /usr/local/apache/perl
<Location /perl>
  SetHandler perl-script
  PerlHandler Apache::Registry
  PerlSendHeader On
  Options +ExecCGI
</Location>


120 :nobodyさん:02/03/28 11:26 ID:???
スクリプトを標準のCGIで実行するつもりがないなら、いくつかの
関数を、それらに対応するApache::関数で置き換えることで、若干
パフォーマンスを高め、メモリを大幅に節約することが出来る。

IO::File        --> Apache::File
CGI::escape     --> Apache::Util::escape_uri
CGI::unescape   --> Apache::Util::unescape_uri
CGI::escapeHTML --> Apache::Util::escape_html
POSIX::strftime --> Apache::Util::ht_time


121 :nobodyさん:02/03/29 03:17 ID:???
Alias /perl "C:/www/http/home/mod_perl/"

<Directory "C:/www/http/home/mod_perl/">
SetHandler perl-script
# PerlHandler Apache::Registry
PerlInitHandler Apache::StatINC
AllowOverride All
Options +ExecCGI Indexes
Order allow,deny
Allow from all
</Directory>

こういう風にやって、上のコメントアウトを外すとディレクトリーが404になってしまいます。
どうすれば直りますか?

122 :nobodyさん:02/03/29 03:17 ID:???
 

123 :nobodyさん:02/04/05 18:16 ID:???
mod_perl FAQ

【CGI動かねぇぞゴルァ!!】
で、どんな症状なわけ?いくつか可能性あるYO!

・File not found
Apacheの設定ファイルに正しいエントリを作成したのか?mod_perl.podに書か
れているように、Alias /perl/ ... と <Location /perl>... ディレクティプ
をaccess.confへ追加する必要があるんだよ。そしてもちろんスクリプトはAlias
ディレクティプで指定されたディレクトリの中にあって、ウェブサーバを実行
するユーザーが、読み込みと実行が可能でないとイヤン。

・Forbidden
てめーはこのサーバの/perl/fooにアクセスする許可を持ってねーよ。(プ
chmod 755 /path/to/my/mod_perl/scripts
chmod 755 /path/to/my/mod_perl/scripts/foo

・Internal Server Error
このスクリプトは実行時エラーで逝ってしまった。サーバーのerror.logの中に
エラーメッセージがあるからさ、それ読めばなんでそうなったか分かるっての。
そうそう、CGI.pmを使っているなら、スクリプトをシェルプロンプトで走らせち
まえば、何が起こるのか分かるかもしれん。

error.logにスクリプトの構文エラーだぞゴルァ!!って書いてあんのに、
perl -c /path/to/my/mod_perl/scripts/foo
だと全然オッケーな時は、__END__ や __DATA__が使ってるのが悪いんちゃうんか
と。ゴメソ、mod_perlのApache::Registryはそいつら使えへんねん。

124 :あわてもの:02/04/14 10:08 ID:4YBd0gTm
 Apache2.0.35+ActivePerl5.6.1.631(mod_perl1.99_02-dev)
をインストールしてみましたがhttpd.confの設定が変わっているようで
 LoadModule perl_module modules/mod_perl.so
は記述するのですが、Apache1.3.24の場合のような
 AddModule mod_perl.c や #!D:/ActivePerl/561/bin/perl.exe
の記述は必要ないようです。

httpd.confに
ScriptAlias /mod-perl/ "D:/Apache2/mod-perl/"
<Directory "D:/Apache2/mod-perl">
SetHandler perl-script
PerlHandler Apache::Registry
AllowOverride None
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
と書いてapache2をスタート。一応ApacheServiceMonitorでは正常に
動いてるようです。

 ところがブラウザからCGIを動かしてみるとmod_perlのディレクトリ構成も変わっているようで PerlHandler Apache::Registry のままでは@INCにそんなものはないと怒られます。
 調べてみるとRegistry.pmは D:/ActivePerl/561/site/lib/apache2/ModPerl にあるので  PerlHandler ModPerl::Registry と変えてみましたが
 Can't locate ModPerl/Registry.pm in @INC (@INC contains: D:/ActivePerl/561/lib D:/ActivePerl/561/site/lib .) at (eval 1) line 3. と言われてダメ。

さらに調べてみると D:/ActivePerl/561/site/lib/にApache2.pmというファイルがあって@INCに D:/ActivePerl/561/site/lib/apache2を追加する機能があるらしいと解ったので物は試しと
PerlHandler Apache2 ModPerl::Registry
と書き直してブラウザからCGIを動かしてみると
 BEGIN failed--compilation aborted at D:/ActivePerl/561/site/lib/Apache2/ModPerl/RegistryCooker.pm line 48.
 Compilation failed in require at D:/ActivePerl/561/site/lib/Apache2/ModPerl/Registry.pm line 11.
 BEGIN failed--compilation aborted at D:/ActivePerl/561/site/lib/Apache2/ModPerl/Registry.pm line 11.
 Compilation failed in require at (eval 2) line 3.
といわれてダメでした。

 Apache2.0.35+ActivePerl5.6.1.631(mod_perl1.99_02-dev)でのhttpd.confの正しい設定を誰か知りませんか?


125 :あわてもの:02/04/21 23:11 ID:1/aZbmex
 >>124はあほな質問だったのかな?
 それともこのスレ、誰も見てないのだろうか?

 誰か反応してくれませんか。


126 :nobodyさん:02/04/21 23:34 ID:???
Apache2.xが流行るまで辛抱辛抱。

127 :nobody:02/04/22 02:35 ID:80pbFtvd
< % Web Applications with Apache & mod_perl % >

Apache::ASP マニュアル和訳開始

http://sourceforge.jp/projects/apache-asp-jp/


128 :nobodyさん:02/04/22 03:24 ID:???
>>125 lib の中にApache2/ModPerl/Registry.pmがあるなら
Apache2::ModPerl::Registry
じゃねーの?

129 :あわてもの:02/04/22 07:43 ID:wb65qKDP
>>126
 励まし、ありがとうございます。

>>127
 情報、ありがとうございます。
 早速見に行ってきます。

>>128
 ご助言、ありがとうございます。
 でもすでにやってみましたがダメだったのです。


130 :nobodyさん:02/04/24 19:09 ID:oPJvWoo3
$0と%ENVと%SIGはグローバル変数ですか。

131 :lom:02/04/24 19:27 ID:a5s+3PHM
面白いのみつけたぞー。dennoukk@mail.goo.ne.jp

132 :nobodyさん:02/04/29 00:10 ID:44EJtQiu
 Apache2対応mod_perl2の情報求む。

 当方httpd.confの書き方わからず難渋している。


133 :nobodyさん:02/04/29 00:21 ID:???
>>132
http://www.freeml.com/message/modperl@freeml.com/0000238

134 :nobodyさん:02/04/29 01:20 ID:???
httpd.conf:
-----------
LoadModule perl_module modules/mod_perl.so
Alias /perl e:/Apache2/cgi-perl
PerlRequire e:\apache2\conf\startup.cgi

<Location /perl>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
Options ExecCGI
PerlSendHeader On
</Location>

startup.pl:
-----------
#! /perl/5.6.1/bin/MSWin32-x86-multi-thread/perl.exe -w

use strict;
use Apache2 ();
use Apache::compat;

and a test script:
#! c:/perl/5.6.1/bin/MSWin32-x86-multi-thread/perl.exe -w
use ModPerl::Registry;
use CGI;

$q = new CGI;

print $q->header,
$q->start_html(),
'Hello',
$q->end_html();


135 :nobodyさん:02/05/26 20:20 ID:???
メンテナンスでやんす

136 :nobodyさん:02/05/27 00:56 ID:???
ここに書き込んでる奴等ってmod_perlがなんだかわかってんのかいな・・・
軽くなる軽くなるとは言うけど、結局一番短縮できる(というかスキップ
できる)のはコンパイルだけだぜ?

それよかApacheの色んなハンドラーを使えるとか、そういうことのメリット
のほうが大きいと思うけど。

137 :nobodyさん:02/05/27 01:46 ID:???
>>136
じゃ、そういう具体的な事でも書いてってよ

138 :nobodyさん:02/05/27 13:32 ID:???
>>136

Perlインタプリタをプロセスとして起動する必要が無くなる点を忘れてはいけない。
Apache::RegistryとApache::PerlRunを比べると極端に差が無いでしょ?

139 :nobodyさん:02/05/27 18:43 ID:???
おお、そうかそうか。忘れてた。perl_init()(←関数名が怪しいが・・・)
が各プロセスに対して一回しか呼ばれないのだよね。

140 :nobodyさん:02/05/27 18:49 ID:???
>>137
うーん、例えばその成功・失敗をユーザーに報告しなくても
いいような処理の場合は$r->register_cleanup()を使うと
ユーザーにとって処理が早く終わったように思わせられるとか?

PerlTransHandlerを使うとコンテンツ又はハンドラーにアクセス
する前にURLを色々変換できて便利だとか?

あと個人的にはApache::DBIが使えてすごい嬉しい・・・

141 :nobodyさん:02/05/27 22:05 ID:???
>>140
だねー。


142 :nobodyさん:02/05/29 09:44 ID:UwM7m6Hb
mod_perlをちゃんと使ってる人って少ないのね・・・便利なのに。

143 :nobodyさん:02/05/29 10:13 ID:???
俺はハンドラ書いたりするし便利だと思うけど、Apache::Registoryだ
け使うのを指して「ちゃんと使ってない」呼ばわりするのはひどくない?
別にいいじゃん。

144 :nobodyさん:02/05/29 10:16 ID:???
>>143
いや、そうじゃなくてなんかスレがあっというまに下のほうに
行ってしまったので「あらやっぱり少ないのねぇ」と思った
だけよ。

145 :143:02/05/29 11:20 ID:???
>>144
あ、そういう事か。
既に便利に使ってる人は特に書き込むネタが無いんじゃないかな。
Webアプリ開発手法みたいに日々精進て感じじゃないし。

で、気軽に試せる環境がない(レンタルスペース等では使えない)ので初
心者からの質問ネタも出ないと。

146 :nobodyさん:02/05/29 12:09 ID:???
>>142
使ってる人が少ないんじゃなくて、
2chユーザなmod_perlユーザが少ないに5円。

仕事でやってる人はこーいうところ見ないし書かない(書けない)からな。

147 :nobodyさん:02/05/29 14:58 ID:???
>>144-145
確かに。でもこのスレでmod_perlプロの裏技とか披露してくれたら
すごい楽しいのに。mod_perl MLもたまにおもしろいネタがあるけど
たいていつまんないしなー。

148 :nobodyさん:02/05/29 17:19 ID:???
>>147
mod_perl MLって英語のアレ?

体感で9割がダラ長い初心者質問メールで追っかけるの疲れてやめた。
2chの短いレスに慣れてるから尚更疲れた。

時々興味深いモジュールのアナウンスなんかはあったけど、メールチェッ
クにかける時間を考えたらコストパフォーマンス悪すぎた。俺には。

149 :nobodyさん:02/05/30 01:10 ID:???
>>148
そうそうまさにその通り。
まーでもまだ一応入ってる。ほとんど流し読みだけどね。

150 :nobodyさん:02/05/31 14:24 ID:???
ttp://perl.apache.org/dist/mod_perl-1.26/INSTALL.win32

151 :nobodyさん:02/07/23 14:10 ID:CrJNwpCC
古スレあげて恐縮なんですがちょっと質問させてください。
Apache::Registry用にコードを書くときはスコープに注意して
書いたりしないとならないようですが、Apache::PerlRunを使う
場合はどこらへんに注意して書けばいいのでしょうか。

基本的に、Apache::PerlRunなら大抵のスクリプトはそのまま動くと
思うのですが、そのままでは動かないスクリプトもあると聞いたので…

152 :nobodyさん:02/07/23 17:39 ID:???
記述ミスに気をつければいいと思うよん

153 :nobodyさん:02/07/24 00:48 ID:???
普通に書けば問題は無い。
世に反乱してるCGI用のコードは異常なのばっかだけど。

154 :nobodyさん:02/07/24 10:03 ID:???
>>152-153
回答ありがとうございます。ということは素人が書いたような
スクリプトが大量に動いてるサーバーに導入するのは控えた方が
よさそうですね。どうもありがとうございました。

155 :nobodyさん:02/08/11 17:02 ID:aSGcdTFF
BIG-server.comの新プランにより、
2ちゃんにmod_perl導入の予感

156 :コギャルとHな出会い:02/08/11 17:17 ID:JupEU5/3
http://kado7.ug.to/net/


朝までから騒ぎ!!
   小中高生
 コギャル〜熟女まで
   メル友
  i/j/PC/対応

女性の子もたくさん来てね
                 
全国デ−トスポット情報も有ります。
全国エステ&ネイル情報あります。

157 :nobodyさん:02/08/11 19:46 ID:???
mod_perlを導入したらサーバのスワップ溢れた・・・
MaxClients をかなり低くしないと駄目?

158 :nobodyさん:02/08/11 21:10 ID:???
mod_perl より FastCGI のほうがいいよ
メモリ消費量が全然違う
http://www.fastcgi.com/


159 :nobodyさん:02/08/11 23:39 ID:???
>>158
FastCGI でのPerlCGIスクリプトを書くときの留意点とか、Apacheへの導入の
分かり易い説明サイト(日本語)ってありますか??

160 :nobodyさん:02/08/12 00:26 ID:???
for vaka

http://www.google.com/search?q=FastCGI+FAQ&sourceid=opera&num=100&ie=utf-8&oe=utf-8

161 :nobodyさん:02/08/12 01:04 ID:???
fastcgiはIE5.01並みの今更感があるんだけど、、、どうなのよ

>>157
元々かなりのメモリが必要。物理的に増設した方がいいんじゃないの

162 :nobodyさん:02/08/12 11:32 ID:???
MaxClients 2
でいいよ。

163 :nobodyさん:02/09/18 02:05 ID:p3QnY3K0
age

164 :nobodyさん:02/10/17 17:26 ID:w3jHhAtg
mod_perlってグローバル変数は絶対に使えないのですか?

165 :nobodyさん:02/10/17 17:29 ID:???
なわけねーだろ

166 :nobodyさん:02/10/17 19:55 ID:vMdIvLO8
DBMSつかわなけりゃ、PHPなんぞより全然いいのにね
mod_perlもfastcgiも普及率低すぎるのはどーゆーことよ!?


167 :nobodyさん:02/10/18 01:43 ID:???
DBMS使わなけりゃって、PerlとDBMSのどっちが悪いっていいたいんだ?

まあ、mod_perlはメモリ食いすぎってのはあるわな。phpもそれなりに食うけど
松下からの支援があるから大丈夫なんだろう。

168 :nobodyさん:02/10/18 11:51 ID:LQtlqqOK
>167
PerlとDBMSが悪いってことはないさ
PHPってDBとネイティブ接続じゃん
PHPがmod_perl、fastcgi、tom猫とかに確実に勝ってるところってそこだけじゃん
↑極端だけど
PHPって他に良いとこみあたんないし、簡単だけどアホだし遅いし
だから、mod_perlもfastcgiの方がぜーんぜん良いってことさ


169 :nobodyさん:02/10/18 15:54 ID:???
Nationalの不買運動をするスレはここですか?

170 :nobodyさん:02/10/18 18:44 ID:vtdegNTU
>>164
コンフィグみたいなリードオンリーの変数は、
あえてグローバルにすることで速くなる。
上手く使えば、共有メモリーみたいにも使えるかも。
use var使えば、普通にグローバル変数使えるけど、パッケージまたぐような
使い方は無理だね。
普通そんな使い方しないけど。

171 :nobodyさん:02/10/18 20:07 ID:???
>>170
詳しくありがとうございます

172 :nobodyさん:02/10/19 02:23 ID:???
PHPはHTMLにスクリプトを組み込む形だけどPerlはスクリプトの中にHTMLを埋め込む形になる.
PHPならデザイン担当とプログラム担当を分けて分担作業ができるが、Perlだと完全分離は難しい.
個人ユースならともかく、実用ベースではPHPの勝ちかな.

173 : :02/10/19 04:50 ID:???
↑こいつ何もわかってないな。。。
マジレスしちゃって恥ずかしくないのかよ。。。

174 :nobodyさん:02/10/19 04:53 ID:???
fastcgi、名前だけは速い( ´,_ゝ`) プ

175 :nobodyさん:02/10/20 05:17 ID:???
PHPもPerlも実際にはあまり使われてないよ。
実際インターネットを見渡せばASPばっかり。

176 :nobodyさん:02/10/20 05:30 ID:???
>>175
GoogleはPHPだが

177 :nobodyさん:02/10/23 16:10 ID:???
ASPは糞

178 :nobodyさん:02/10/23 22:09 ID:MeYX5mSP
> 実際インターネットを見渡せばASPばっかり。
Webサーバーでは、apacheがトップシェアですが、
apacheでASPが動くのですか?



179 :nobodyさん:02/10/24 00:00 ID:???
>>178
動くけどASPの持ち味が生きない

180 :nobodyさん:02/10/24 00:02 ID:???
うごくよ。いくつかopen sourceの実装があるよ。

181 :nobodyさん:02/10/24 09:59 ID:???
実際インターネットを見渡せばJSPばっかり。

perlもヒアドキュメント使わずにjspのような
書き方できればシェアも広がるのに。

182 :nobodyさん:02/10/24 11:33 ID:???
>>181 jsp はよく知らないけど、テンプレート
モジュールならいくつもあるよ。そういう話じゃ
ない?

ところでみなさん、どんなテンプレートモジュー
ル使ってる?

183 : :02/10/24 19:31 ID:???
Mason最強!

184 :nobodyさん:02/10/24 23:29 ID:???
Perl + PHP::Session + PHP これ最強。

185 :nobodyさん:02/10/25 01:34 ID:???
Ruby最強説

186 :nobodyさん:02/10/25 21:47 ID:???
>>185
Ruby馬鹿ハケーン

187 :名無しさん@35周年:02/10/25 22:10 ID:f0WFU3YH
ハイヤーハイヤーとんとんとんとんとんとんとんとんとんとんとんとん
ばらばばらっばばらーばばら ぺんぺん!!
アーイヤーヤーコラ ぺんぺん!!
ソーレ 
http://plaza.rakuten.co.jp/a240a/



188 :nobodyさん:02/10/26 13:04 ID:???
すれ違いは承知の上で聞くけど使った人いる?

http://sourceforge.net/projects/psp/


189 :nobodyさん:02/10/27 12:41 ID:EphP21JY
単純に
<Files ~ "\.(cgi|pl)$">
SetHandler perl-script
PerlHandler Apache::Registry
PerlInitHandler Apache::StatINC
Options +ExecCGI
PerlSendHeader On
</Files>
て書いたんだけど同ディレクトリのデータファイルとか読みこめない・・・
仕様?

190 :nobodyさん:02/11/02 01:47 ID:vRpNWbq2
>>182
HTML::Template 使ってるよ。
というか他にテンプレートモジュール知らないので紹介してくれ。

HTML にスクリプトを埋め込む PHP や ASP より
HTML とスクリプトをかなり分離できて割とすっきりすると思う。
でも PHP でも確か同じようなテンプレートモジュールがあったな…

191 :nobodyさん:02/11/02 05:25 ID:o+t0cR8M
PHPとmod_perlのシェアの違いは
PHPはレンタルサーバーにインストールされてる率が高いけど
mod_perlが入ってるレンタルサーバーってあまり聞かないから
そこらへんなのかな。

192 :nobodyさん:02/11/06 12:12 ID:???
>191
HTMLの延長として書けるPHPの方が入りやすいのではないかしら。

193 :nobodyさん:02/11/08 17:11 ID:???
>>192
使い易さか・・・。

194 :nobodyさん:02/11/09 22:53 ID:4Q7VYiKo
そこら辺で配られてるスクリプト使うには
どれくらいの修正が必要?
例えばkentの掲示板とか

195 :nobodyさん:02/11/09 22:56 ID:4Q7VYiKo
PerlRunモードで動かしても
askabbsのデフォルトのままだと500エラー
どこら辺を直せばいいのかな?

196 :nobodyさん:02/11/10 00:39 ID:wej5Zqd8
speedycgiってどうよ?
mod_perlよりperlで書かれたフツウのCGIつかうなら楽っぽいけど

197 :nobodyさん:02/11/10 19:42 ID:xESBM0en
同じライブラリを別のCGIから読むと、必ず後で読んだ方のCGIから、
ライブラリ内のサブルーチンを呼ぶ時に、ありませんとエラーがでます。
ライブラリの読み込みにエラーは出ていません。
ライブラリはpackage使っていません。対策希望。

198 :nobodyたん:02/11/11 05:26 ID:???
SpeedyCGI は比較的シンプルなCGIプログラム向きだね。
mod_perl 特有の機能を使用しなければ,よいかも。

ただ,mod_perl と同じような注意点はあるので,そのまま使えるわけじゃないよん。

199 :nobodyさん:02/11/11 23:37 ID:???
最近はTemplate-Toolkitらぶ。

200 :nobodyさん:02/11/12 12:24 ID:+G2ZIth5
ttp://pc.2ch.net/test/read.cgi/php/1034583844/790n
>昔、mod_perlを開放して痛い目にあってた鯖屋を知ってます。
誰か、↑の件について詳しく知ってる人いませんか?
XREA利用してるから、ちょっと気になる。

201 :nobodyさん:02/11/12 17:42 ID:???
>>200
サポートです。

shared_html内でCGI/SSIは基本的にサポートしていません。新しいサーバーs4,s7では初めから動かないようになっています。
古いサーバーでは、shared_htmlでCGIを動かしているアカウントに移動をしてもうらうようにメールした後、順次サポートを停止します。
shared_html内でCGIを動かす理由は無いと思いますので、publuc_html内で動かして下さい。

ちなみにshared_htmlでCGIを動かしたからと言って速くなることはありません。(モジュール化はされません。)

mod_perlですが、利用しますとshared_html内のスクリプトのソース、データが他の利用者から丸見えになります。
隠す手段が無くなり、悪戯・改竄も簡単にできてしまいます。(パーミッション606以上にしないといけない為)

shared_html内でPHPを動かす場合は、SafeModeで起動されるため、ある程度セキュリティ上の確保が出来ますが、mod_perlを使うと上で述べたセキュリティ上問題が生じます。

s3のASP、JSPについても同様の問題があり、最大の壁になっています。

他人に見られても構わない、他人にデータを消される危険性を承知して頂ける場合は対応致しますが、利用者全員にリスクを背負わせる事は出来ないため現在対応しかねています。

202 :nobodyさん:02/11/15 23:58 ID:???
>他人にデータを消される危険性を承知して頂ける場合は対応致しますが、
>利用者全員にリスクを背負わせる事は出来ないため現在対応しかねています。
できるのかできないのかどっちや?

203 :nobodyさん:02/11/19 21:51 ID:???
XREAはfastcgiじゃなかった?

204 :nobodyさん:02/11/19 23:04 ID:VhhOAZ+P
SpeedyCGI 使ってる人って少ないのかな。

205 :rubyist@カラアゲうまうま:02/11/19 23:07 ID:???
未だにPerl塚手居る奴ってあほ

206 :nobodyさん:02/11/25 15:31 ID:4k6ePYUG
mod_perlでjcode.plみたいな外部ライブラリの呼び出し方がわかりません
具体的にどうすればいいんでしょうか?

207 :nobodyさん:02/11/25 16:06 ID:???
require 'jcode.pl';

おまえ一回近藤さんところ行って金払って勉強しなおせ。

208 :nobodyさん:02/11/25 17:55 ID:???
>>207
本当にそれでイイの?

209 :nobodyさん:02/11/25 20:57 ID:???
なぜあれで問題があると思ったかを簡潔に説明せよ。
まーpreloadしとくと幸せかもってのはあるけどな。

210 :nobodyさん:02/12/11 12:50 ID:OIU8Ox7y
xreaってfastcgiなんですか?
普通のスクリプトでも動く?>fastcgi
mod_perlとどっちがいいのかな?
sppedycgiはmod_perlより遅かったYO!

211 :nobodyさん:02/12/11 21:42 ID:???
一般的にはFastCGIはmod_perlよか早いって事になってるよね。
でも両者同じくらいなんじゃないかな。
どっちも使ってない漏れが言うのもなんですが。

212 :nobodyさん:03/01/08 19:06 ID:B/d3X4vI
質問!
>>189さんと同じような質問なんだけど、Apache2系+mod_perl環境に
変更したところ、CGIの中からファイルを読む時に、ファイルのパスを
フルパスで記述しないとエラーになるようになっちゃった。

<Files "*.cgi$">
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</Files>

httpd.conf には上のように書いたんだけど、どこか設定し忘れでしょうか?
おまいら教えて下さい!

213 :山崎渉:03/01/15 13:35 ID:???
(^^)

214 :nobodyさん:03/01/16 08:45 ID:???
>>212
use Cwd;
print "\n\n",cwd;

実行してみ。

215 :nobodyさん:03/01/16 20:02 ID:???
Apachi2にきちんと対応するのは mod_perl と mod_php のどっちがはやいかな?

216 :nobodyさん:03/01/17 13:14 ID:WcjfDkhM
http://perl.apache.org/dist/win32-bin/
キタ━━━━━━(゚∀゚)━━━━━━━!!!!!

217 :nobodyさん:03/01/17 13:17 ID:???
つーかActivePerl 5.8.0 build 804 出てたのね
気付かなかった

218 :nobodyさん:03/01/17 14:55 ID:???
>>210
speedyCGIはね・・・速いんじゃなくて軽いんですよ
もちろん、cgiに比べれば激速だけど
ちなみに、mod_speedyなんてのもあります。
mod_perlはメモリー食いすぎ&スクリプトの入れ替えが面倒
あと、httpd自体が重くなるから、静的ファイルの処理も重くなる

ケースバイケースとはおもうけど、うちの場合、スケーラビリティでは、
speedycgi >>> mod_perlでしたね

219 :nobodyさん:03/01/17 21:28 ID:???
mod_perlの場合exitしちゃイケナイ
って言われたんですが 処理止める場合や
プログラムの終わりはどうすればいいんでしょう?

220 :nobodyさん:03/01/18 02:02 ID:???
>>219
http://perl.apache.org/docs/1.0/guide/porting.html
Terminating requests and processes, the exit() and child_terminate() functions
の項をどうぞ。


221 :nobodyさん:03/01/18 02:45 ID:???
exitは駄目でもdieはいいんだよな。おもしろいことに。

222 :nobodyさん:03/01/19 21:45 ID:???
実際インターネットを見渡せばColdFusionばっかり。

perlもやれ正規表現だなんだと言わずにColdFusionのような
簡便性を重視すればシェアも広がるのに。

223 :nobodyさん:03/01/20 01:27 ID:???


224 :nobodyさん:03/01/20 16:37 ID:???
>>218

うちのス環境でのストレステストでも、結果だけ見るとmod_perlはspeedyにまけてますた。
もちろん、サーバーのメモリ容量によっても結果は変わりそうですけど。

225 :nobodyさん:03/01/20 23:28 ID:+/2vXFio
やっぱCの方が早いって事か。
真珠はもうダメポ。

226 :nobodyさん:03/01/21 01:51 ID:???
?


227 :nobodyさん:03/01/24 02:05 ID:lHmFUyZc
もっと_Perlを使おう!

60 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)