トップページ⇒php
1001コメント343KB

mod_perlを使おう!

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん01/11/07 17:42ID:+Gux2iOQ
CGIを激速で実行できるmod_perlについて語りませう。
関連リンク等は>2
0140nobodyさん02/05/27 18:49ID:???
>>137
うーん、例えばその成功・失敗をユーザーに報告しなくても
いいような処理の場合は$r->register_cleanup()を使うと
ユーザーにとって処理が早く終わったように思わせられるとか?

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

あと個人的にはApache::DBIが使えてすごい嬉しい・・・
0141nobodyさん02/05/27 22:05ID:???
>>140
だねー。
0142nobodyさん02/05/29 09:44ID:UwM7m6Hb
mod_perlをちゃんと使ってる人って少ないのね・・・便利なのに。
0143nobodyさん02/05/29 10:13ID:???
俺はハンドラ書いたりするし便利だと思うけど、Apache::Registoryだ
け使うのを指して「ちゃんと使ってない」呼ばわりするのはひどくない?
別にいいじゃん。
0144nobodyさん02/05/29 10:16ID:???
>>143
いや、そうじゃなくてなんかスレがあっというまに下のほうに
行ってしまったので「あらやっぱり少ないのねぇ」と思った
だけよ。
014514302/05/29 11:20ID:???
>>144
あ、そういう事か。
既に便利に使ってる人は特に書き込むネタが無いんじゃないかな。
Webアプリ開発手法みたいに日々精進て感じじゃないし。

で、気軽に試せる環境がない(レンタルスペース等では使えない)ので初
心者からの質問ネタも出ないと。
0146nobodyさん02/05/29 12:09ID:???
>>142
使ってる人が少ないんじゃなくて、
2chユーザなmod_perlユーザが少ないに5円。

仕事でやってる人はこーいうところ見ないし書かない(書けない)からな。
0147nobodyさん02/05/29 14:58ID:???
>>144-145
確かに。でもこのスレでmod_perlプロの裏技とか披露してくれたら
すごい楽しいのに。mod_perl MLもたまにおもしろいネタがあるけど
たいていつまんないしなー。
0148nobodyさん02/05/29 17:19ID:???
>>147
mod_perl MLって英語のアレ?

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

時々興味深いモジュールのアナウンスなんかはあったけど、メールチェッ
クにかける時間を考えたらコストパフォーマンス悪すぎた。俺には。
0149nobodyさん02/05/30 01:10ID:???
>>148
そうそうまさにその通り。
まーでもまだ一応入ってる。ほとんど流し読みだけどね。
0150nobodyさん02/05/31 14:24ID:???
ttp://perl.apache.org/dist/mod_perl-1.26/INSTALL.win32
0151nobodyさん02/07/23 14:10ID:CrJNwpCC
古スレあげて恐縮なんですがちょっと質問させてください。
Apache::Registry用にコードを書くときはスコープに注意して
書いたりしないとならないようですが、Apache::PerlRunを使う
場合はどこらへんに注意して書けばいいのでしょうか。

基本的に、Apache::PerlRunなら大抵のスクリプトはそのまま動くと
思うのですが、そのままでは動かないスクリプトもあると聞いたので…
0152nobodyさん02/07/23 17:39ID:???
記述ミスに気をつければいいと思うよん
0153nobodyさん02/07/24 00:48ID:???
普通に書けば問題は無い。
世に反乱してるCGI用のコードは異常なのばっかだけど。
0154nobodyさん02/07/24 10:03ID:???
>>152-153
回答ありがとうございます。ということは素人が書いたような
スクリプトが大量に動いてるサーバーに導入するのは控えた方が
よさそうですね。どうもありがとうございました。
0155nobodyさん02/08/11 17:02ID:aSGcdTFF
BIG-server.comの新プランにより、
2ちゃんにmod_perl導入の予感
0156コギャルとHな出会い02/08/11 17:17ID:JupEU5/3
http://kado7.ug.to/net/


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

女性の子もたくさん来てね
                 
全国デ−トスポット情報も有ります。
全国エステ&ネイル情報あります。
0157nobodyさん02/08/11 19:46ID:???
mod_perlを導入したらサーバのスワップ溢れた・・・
MaxClients をかなり低くしないと駄目?
0158nobodyさん02/08/11 21:10ID:???
mod_perl より FastCGI のほうがいいよ
メモリ消費量が全然違う
http://www.fastcgi.com/
0159nobodyさん02/08/11 23:39ID:???
>>158
FastCGI でのPerlCGIスクリプトを書くときの留意点とか、Apacheへの導入の
分かり易い説明サイト(日本語)ってありますか??
0160nobodyさん02/08/12 00:26ID:???
for vaka

http://www.google.com/search?q=FastCGI+FAQ&sourceid=opera&num=100&ie=utf-8&oe=utf-8
0161nobodyさん02/08/12 01:04ID:???
fastcgiはIE5.01並みの今更感があるんだけど、、、どうなのよ

>>157
元々かなりのメモリが必要。物理的に増設した方がいいんじゃないの
0162nobodyさん02/08/12 11:32ID:???
MaxClients 2
でいいよ。
0163nobodyさん02/09/18 02:05ID:p3QnY3K0
age
0164nobodyさん02/10/17 17:26ID:w3jHhAtg
mod_perlってグローバル変数は絶対に使えないのですか?
0165nobodyさん02/10/17 17:29ID:???
なわけねーだろ
0166nobodyさん02/10/17 19:55ID:vMdIvLO8
DBMSつかわなけりゃ、PHPなんぞより全然いいのにね
mod_perlもfastcgiも普及率低すぎるのはどーゆーことよ!?
0167nobodyさん02/10/18 01:43ID:???
DBMS使わなけりゃって、PerlとDBMSのどっちが悪いっていいたいんだ?

まあ、mod_perlはメモリ食いすぎってのはあるわな。phpもそれなりに食うけど
松下からの支援があるから大丈夫なんだろう。
0168nobodyさん02/10/18 11:51ID:LQtlqqOK
>167
PerlとDBMSが悪いってことはないさ
PHPってDBとネイティブ接続じゃん
PHPがmod_perl、fastcgi、tom猫とかに確実に勝ってるところってそこだけじゃん
↑極端だけど
PHPって他に良いとこみあたんないし、簡単だけどアホだし遅いし
だから、mod_perlもfastcgiの方がぜーんぜん良いってことさ
0169nobodyさん02/10/18 15:54ID:???
Nationalの不買運動をするスレはここですか?
0170nobodyさん02/10/18 18:44ID:vtdegNTU
>>164
コンフィグみたいなリードオンリーの変数は、
あえてグローバルにすることで速くなる。
上手く使えば、共有メモリーみたいにも使えるかも。
use var使えば、普通にグローバル変数使えるけど、パッケージまたぐような
使い方は無理だね。
普通そんな使い方しないけど。
0171nobodyさん02/10/18 20:07ID:???
>>170
詳しくありがとうございます
0172nobodyさん02/10/19 02:23ID:???
PHPはHTMLにスクリプトを組み込む形だけどPerlはスクリプトの中にHTMLを埋め込む形になる.
PHPならデザイン担当とプログラム担当を分けて分担作業ができるが、Perlだと完全分離は難しい.
個人ユースならともかく、実用ベースではPHPの勝ちかな.
0173 02/10/19 04:50ID:???
↑こいつ何もわかってないな。。。
マジレスしちゃって恥ずかしくないのかよ。。。
0174nobodyさん02/10/19 04:53ID:???
fastcgi、名前だけは速い( ´,_ゝ`) プ
0175nobodyさん02/10/20 05:17ID:???
PHPもPerlも実際にはあまり使われてないよ。
実際インターネットを見渡せばASPばっかり。
0176nobodyさん02/10/20 05:30ID:???
>>175
GoogleはPHPだが
0177nobodyさん02/10/23 16:10ID:???
ASPは糞
0178nobodyさん02/10/23 22:09ID:MeYX5mSP
> 実際インターネットを見渡せばASPばっかり。
Webサーバーでは、apacheがトップシェアですが、
apacheでASPが動くのですか?

0179nobodyさん02/10/24 00:00ID:???
>>178
動くけどASPの持ち味が生きない
0180nobodyさん02/10/24 00:02ID:???
うごくよ。いくつかopen sourceの実装があるよ。
0181nobodyさん02/10/24 09:59ID:???
実際インターネットを見渡せばJSPばっかり。

perlもヒアドキュメント使わずにjspのような
書き方できればシェアも広がるのに。
0182nobodyさん02/10/24 11:33ID:???
>>181 jsp はよく知らないけど、テンプレート
モジュールならいくつもあるよ。そういう話じゃ
ない?

ところでみなさん、どんなテンプレートモジュー
ル使ってる?
0183 02/10/24 19:31ID:???
Mason最強!
0184nobodyさん02/10/24 23:29ID:???
Perl + PHP::Session + PHP これ最強。
0185nobodyさん02/10/25 01:34ID:???
Ruby最強説
0186nobodyさん02/10/25 21:47ID:???
>>185
Ruby馬鹿ハケーン
0187名無しさん@35周年02/10/25 22:10ID:f0WFU3YH
ハイヤーハイヤーとんとんとんとんとんとんとんとんとんとんとんとん
ばらばばらっばばらーばばら ぺんぺん!!
アーイヤーヤーコラ ぺんぺん!!
ソーレ 
http://plaza.rakuten.co.jp/a240a/

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

http://sourceforge.net/projects/psp/
0189nobodyさん02/10/27 12:41ID:EphP21JY
単純に
<Files ~ "\.(cgi|pl)$">
SetHandler perl-script
PerlHandler Apache::Registry
PerlInitHandler Apache::StatINC
Options +ExecCGI
PerlSendHeader On
</Files>
て書いたんだけど同ディレクトリのデータファイルとか読みこめない・・・
仕様?
0190nobodyさん02/11/02 01:47ID:vRpNWbq2
>>182
HTML::Template 使ってるよ。
というか他にテンプレートモジュール知らないので紹介してくれ。

HTML にスクリプトを埋め込む PHP や ASP より
HTML とスクリプトをかなり分離できて割とすっきりすると思う。
でも PHP でも確か同じようなテンプレートモジュールがあったな…
0191nobodyさん02/11/02 05:25ID:o+t0cR8M
PHPとmod_perlのシェアの違いは
PHPはレンタルサーバーにインストールされてる率が高いけど
mod_perlが入ってるレンタルサーバーってあまり聞かないから
そこらへんなのかな。
0192nobodyさん02/11/06 12:12ID:???
>191
HTMLの延長として書けるPHPの方が入りやすいのではないかしら。
0193nobodyさん02/11/08 17:11ID:???
>>192
使い易さか・・・。
0194nobodyさん02/11/09 22:53ID:4Q7VYiKo
そこら辺で配られてるスクリプト使うには
どれくらいの修正が必要?
例えばkentの掲示板とか
0195nobodyさん02/11/09 22:56ID:4Q7VYiKo
PerlRunモードで動かしても
askabbsのデフォルトのままだと500エラー
どこら辺を直せばいいのかな?
0196nobodyさん02/11/10 00:39ID:wej5Zqd8
speedycgiってどうよ?
mod_perlよりperlで書かれたフツウのCGIつかうなら楽っぽいけど
0197nobodyさん02/11/10 19:42ID:xESBM0en
同じライブラリを別のCGIから読むと、必ず後で読んだ方のCGIから、
ライブラリ内のサブルーチンを呼ぶ時に、ありませんとエラーがでます。
ライブラリの読み込みにエラーは出ていません。
ライブラリはpackage使っていません。対策希望。
0198nobodyたん02/11/11 05:26ID:???
SpeedyCGI は比較的シンプルなCGIプログラム向きだね。
mod_perl 特有の機能を使用しなければ,よいかも。

ただ,mod_perl と同じような注意点はあるので,そのまま使えるわけじゃないよん。
0199nobodyさん02/11/11 23:37ID:???
最近はTemplate-Toolkitらぶ。
0200nobodyさん02/11/12 12:24ID:+G2ZIth5
ttp://pc.2ch.net/test/read.cgi/php/1034583844/790n
>昔、mod_perlを開放して痛い目にあってた鯖屋を知ってます。
誰か、↑の件について詳しく知ってる人いませんか?
XREA利用してるから、ちょっと気になる。
0201nobodyさん02/11/12 17:42ID:???
>>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についても同様の問題があり、最大の壁になっています。

他人に見られても構わない、他人にデータを消される危険性を承知して頂ける場合は対応致しますが、利用者全員にリスクを背負わせる事は出来ないため現在対応しかねています。
0202nobodyさん02/11/15 23:58ID:???
>他人にデータを消される危険性を承知して頂ける場合は対応致しますが、
>利用者全員にリスクを背負わせる事は出来ないため現在対応しかねています。
できるのかできないのかどっちや?
0203nobodyさん02/11/19 21:51ID:???
XREAはfastcgiじゃなかった?
0204nobodyさん02/11/19 23:04ID:VhhOAZ+P
SpeedyCGI 使ってる人って少ないのかな。
0205rubyist@カラアゲうまうま02/11/19 23:07ID:???
未だにPerl塚手居る奴ってあほ
0206nobodyさん02/11/25 15:31ID:4k6ePYUG
mod_perlでjcode.plみたいな外部ライブラリの呼び出し方がわかりません
具体的にどうすればいいんでしょうか?
0207nobodyさん02/11/25 16:06ID:???
require 'jcode.pl';

おまえ一回近藤さんところ行って金払って勉強しなおせ。
0208nobodyさん02/11/25 17:55ID:???
>>207
本当にそれでイイの?
0209nobodyさん02/11/25 20:57ID:???
なぜあれで問題があると思ったかを簡潔に説明せよ。
まーpreloadしとくと幸せかもってのはあるけどな。
0210nobodyさん02/12/11 12:50ID:OIU8Ox7y
xreaってfastcgiなんですか?
普通のスクリプトでも動く?>fastcgi
mod_perlとどっちがいいのかな?
sppedycgiはmod_perlより遅かったYO!
0211nobodyさん02/12/11 21:42ID:???
一般的にはFastCGIはmod_perlよか早いって事になってるよね。
でも両者同じくらいなんじゃないかな。
どっちも使ってない漏れが言うのもなんですが。
0212nobodyさん03/01/08 19:06ID:B/d3X4vI
質問!
>>189さんと同じような質問なんだけど、Apache2系+mod_perl環境に
変更したところ、CGIの中からファイルを読む時に、ファイルのパスを
フルパスで記述しないとエラーになるようになっちゃった。

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

httpd.conf には上のように書いたんだけど、どこか設定し忘れでしょうか?
おまいら教えて下さい!
0213山崎渉03/01/15 13:35ID:???
(^^)
0214nobodyさん03/01/16 08:45ID:???
>>212
use Cwd;
print "\n\n",cwd;

実行してみ。
0215nobodyさん03/01/16 20:02ID:???
Apachi2にきちんと対応するのは mod_perl と mod_php のどっちがはやいかな?
0216nobodyさん03/01/17 13:14ID:WcjfDkhM
http://perl.apache.org/dist/win32-bin/
キタ━━━━━━(゚∀゚)━━━━━━━!!!!!
0217nobodyさん03/01/17 13:17ID:???
つーかActivePerl 5.8.0 build 804 出てたのね
気付かなかった
0218nobodyさん03/01/17 14:55ID:???
>>210
speedyCGIはね・・・速いんじゃなくて軽いんですよ
もちろん、cgiに比べれば激速だけど
ちなみに、mod_speedyなんてのもあります。
mod_perlはメモリー食いすぎ&スクリプトの入れ替えが面倒
あと、httpd自体が重くなるから、静的ファイルの処理も重くなる

ケースバイケースとはおもうけど、うちの場合、スケーラビリティでは、
speedycgi >>> mod_perlでしたね
0219nobodyさん03/01/17 21:28ID:???
mod_perlの場合exitしちゃイケナイ
って言われたんですが 処理止める場合や
プログラムの終わりはどうすればいいんでしょう?
0220nobodyさん03/01/18 02:02ID:???
>>219
http://perl.apache.org/docs/1.0/guide/porting.html
Terminating requests and processes, the exit() and child_terminate() functions
の項をどうぞ。
0221nobodyさん03/01/18 02:45ID:???
exitは駄目でもdieはいいんだよな。おもしろいことに。
0222nobodyさん03/01/19 21:45ID:???
実際インターネットを見渡せばColdFusionばっかり。

perlもやれ正規表現だなんだと言わずにColdFusionのような
簡便性を重視すればシェアも広がるのに。
0223nobodyさん03/01/20 01:27ID:???
0224nobodyさん03/01/20 16:37ID:???
>>218

うちのス環境でのストレステストでも、結果だけ見るとmod_perlはspeedyにまけてますた。
もちろん、サーバーのメモリ容量によっても結果は変わりそうですけど。
0225nobodyさん03/01/20 23:28ID:+/2vXFio
やっぱCの方が早いって事か。
真珠はもうダメポ。
0226nobodyさん03/01/21 01:51ID:???
?
0227nobodyさん03/01/24 02:05ID:lHmFUyZc
もっと_Perlを使おう!
0228nobodyさん03/01/30 20:22ID:X1QkLVxw
age
0229nobodyさん03/02/01 07:41ID:ioiLfoAw
pc2.2ch.net
Apache/2.0.44 (Unix) mod_perl/1.99_07-dev Perl/v5.8.0 mod_ssl/2.0.43 OpenSSL/0.9.6g DAV/2 FrontPage/5.0.2.2624 PHP/4.3.0RC3 mod_gzip/2.0.26.1a
              〜〜〜〜〜〜〜〜〜〜

読み込んでいる以上使わない手はないな
0230nobodyさん03/02/01 15:20ID:???
Apache::exit()
ってなによ?
0231nobodyさん03/02/02 21:34ID:ZopgONhA
この板にmod_perl使ってる人いますか?

mod_perl で普通にサブルーチン定義ってできないの?
なんかサブルーチンが再定義されましたってWARNINGが
すべてのサブルーチンに出るんだけど。
動作的には問題なしです。
0232nobodyさん03/02/05 22:21ID:???
>>231

>>4 じゃないの
0233nobodyさん03/02/05 22:26ID:bAuNqhq0
mod_perlの日本語の文献が少ない〜と思ってたけど、
オライリーの "Apache拡張ガイド" ってかなりイイですね。

単に「CGIを高速化したい」というだけの向きには
お勧めしないが。
0234nobodyさん03/02/06 06:59ID:???
自鯖持ってない人には結構敷居が高い気がするけど、
漏れもやってみたいんだな。実は。な厨房でした。
phpよりperlの方が、なんだかなぜだか好きなんだな、これが。
ま、別にどっちでもいいんだが。
0235nobodyさん03/02/28 07:13ID:lH1io3Lr
Perl 5.6.1
mod_perl 1.27
Apache 1.3.27

Vine Linx 2.6r1

で mod_perl を利用したスクリプトを書いてます。
そこで問題が発生したのですが、
普段は正常に動作してくれるものの、
稀に下記のようなエラーを吐きます。

[error] Undefined subroutine &Apache::Registry::handler called.

そのエラーの後暫く時間を置くと、また正常に動作してくれます。

どのような原因が考えられるでしょうか?
0236山崎渉03/03/13 17:10ID:???
(^^)
0237山崎渉03/04/17 12:25ID:???
(^^)
0238山崎渉03/04/20 06:09ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0239nobodyさん03/05/06 13:26ID:???
きちんと use strict および my 宣言しているのですが、
前回処理のときの値が変数に残る場合があります。

原因がまったくわかりません。
■ このスレッドは過去ログ倉庫に格納されています