亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > Perl > 正文

不錯(cuò)的mod_perl編程的簡(jiǎn)單應(yīng)用實(shí)例介紹

2020-10-31 15:21:19
字體:
供稿:網(wǎng)友
介紹性指南 
mod_perl 是個(gè)龐大而復(fù)雜的工具,它內(nèi)建了許多模塊幫助你方便地構(gòu)建動(dòng)態(tài)網(wǎng)站。這篇指南的目的是幫助你構(gòu)建一個(gè)良好的 mod_perl 模塊,并從中理解 mod_perl 的實(shí)現(xiàn)技術(shù)。我并不推薦使用這里介紹的技術(shù)來建立一個(gè)大型站點(diǎn),尤其對(duì)于一個(gè)剛剛涉足 mod_perl 的人來說。但我推薦大家可以深入看一下它的一些內(nèi)建的方案,比如 Mason, AxKit, EmbPerl, Apache::ASP 和 PageKit 等等。 
你需要什么? 
本指南假設(shè)你已經(jīng)有過安裝和測(cè)試 mod_perl 的經(jīng)驗(yàn)。以及較新版本的 Apache 的安裝經(jīng)驗(yàn)。因?yàn)橛锌赡苣阈枰谀愕臋C(jī)器上實(shí)現(xiàn)時(shí)適當(dāng)?shù)男薷谋疚奶峁┑呐渲?。我們需要你安裝一些模塊并且需要進(jìn)入 Apache 的配置目錄作修改。所以最好你有 root 權(quán)限來做這些事情。當(dāng)然你還需要一個(gè)文本編輯器。 
切入正題 
mod_perl 模塊也是 Perl 模塊,但它有較為特別的設(shè)計(jì)。最方便的創(chuàng)建一個(gè) Perl 模塊的方法就是使用標(biāo)準(zhǔn)的 Perl 分發(fā)自帶的工具 h2xs 。你可以在命令行模式鍵入 h2xs 來看看它的參數(shù)列表?,F(xiàn)在,到一個(gè)適當(dāng)?shù)哪夸涢_始一個(gè)新項(xiàng)目,鍵入:h2xs -AX -n Apache::Tutorial::Firsth2xs 將會(huì)創(chuàng)建目錄 Apache,以及其他一些子目錄.現(xiàn)在進(jìn)入最深一級(jí)的目錄看看:cd Apache/Tutorial/First在這個(gè)新目錄里面,你可以看到 6 個(gè)文件: README, Changes, First.pm, MANIFEST, Makefile.PL 和 Apache-Tutorial-First.t。它們的作用如下: 
README 
這個(gè)文件包含一些安裝信息,模塊依賴性,版權(quán)信息等 
Changes 
這個(gè)文件作為你的項(xiàng)目的修改日志(changelog)文件 
First.pm 
這是主模塊文件,包含你的 mod_perl 句柄代碼(handler code)。 
MANIFEST 
本文件用于自動(dòng)構(gòu)建 tar.gz 類型的模塊版本分發(fā)。這樣你就可以把你的模塊拿到 CPAN 發(fā)布或者分發(fā)給其他人。它包含了你在這個(gè)項(xiàng)目中所有文件的列表。
Makefile.PL 
這是標(biāo)準(zhǔn)的 Perl Makefile 構(gòu)造器。用于創(chuàng)建 Makefile.PL 文件來編譯該模塊。 
Apache-Tutorial-First.t 
針對(duì)該模塊的一些測(cè)試腳本。默認(rèn)情況下它只是檢查模塊的載入,你可以添加一些新的測(cè)試單元。好了,現(xiàn)在我們開始把First.pm變?yōu)榭晒ぷ鞯膍od_perl模塊。使用文本編輯器打開該文件,修改后的內(nèi)容如下:
package Apache::Tutorial::First;
use strict;
use vars qw/$VERSION/;
use Apache::Constants;
$VERSION = 0.01;
sub handler {
  my $r = shift;
  $r->send_http_header('text/html');
  print 
  "<html><body>Hello World</body></html>";
  return OK;
}
1;
不要忘記文件末尾的”1;”,對(duì)于Perl來說,一個(gè)模塊最后返回的非零值表示該模塊已經(jīng)被成功編譯。 
安裝你的模塊 
h2xs 工具使我們的模塊安裝工作極為方便。在和你的 First.pm 文件相同的目錄中。鍵入: 
perl Makefile.PL
make
make test如果 make test 成功的話,你需要以 root 身份執(zhí)行: 
make install這樣你就把你的模塊安裝到了 perl 的庫(kù)目錄(library directory)。 
添加該模塊為 Apache 的一個(gè)句柄(handler) 
現(xiàn)在我們需要進(jìn)入 Apache 配置目錄來修改配置文件,使我們的模塊作為 Apache 內(nèi)容處理階段的處理器。打開 httpd.conf 文件,在末尾加入如下配置: 
<Location /mod_perl_tutorial>
  SetHandler perl-script
  PerlHandler Apache::Tutorial::First
然后保存配置文件,并且重新啟動(dòng) apache 服務(wù)器: 
apachectl stop 
apachectl start現(xiàn)在使用瀏覽器訪問http://localhost/mod_perl_tutorial,你將如期的看到顯示 “Hello World” 頁(yè)面。 
當(dāng) Apache 啟動(dòng)的時(shí)候,它讀取它的配置指令并把適當(dāng)?shù)拿顐鬟f給相應(yīng)的處理該命令的模塊。這里有兩個(gè)相關(guān)的指令 SetHandler 和 PerlHandler。 
第一個(gè)指令 SetHandler 由 mod_mime 模塊處理,該指令表示使用什么模塊作為處理請(qǐng)求的主要部分。這里所設(shè)置的perl-script 表示使用 mod_perl 來處理請(qǐng)求。 
第二個(gè)指令PerlHandler由mod_perl模塊來處理,它只是簡(jiǎn)單的說明使用我們的模塊來處理請(qǐng)求的主要部分。有一點(diǎn)需要注意,無(wú)論何時(shí)在你有一個(gè) PerlHandler 時(shí),你需要相應(yīng)的 SetHandler perl-script 配置指令。這樣才能使你的 mod_perl 代碼起作用。我總是認(rèn)為這是一個(gè)弱點(diǎn),但這將涉及 Apache 內(nèi)部的處理機(jī)制,所以在將來這也很難改變。 
現(xiàn)在請(qǐng)求來了,Apache 查看用什么模塊來處理相應(yīng)的 URI 并且在這里決定使用 mod_perl,而 mod_perl 知道它必須把請(qǐng)求發(fā)送給我們的模塊,并調(diào)用我們模塊的 handler() 函數(shù)作為 Apache::Request 對(duì)象的第一個(gè)參數(shù)。而我們的 handler() 函數(shù)的返回值決定了下一步 Apache 將要做什么?,F(xiàn)在我們知道返回值 OK 意味著一切成功。 OK是個(gè)從Apache::Constants 模塊導(dǎo)出的常量。
調(diào)試 
如果你沒有看到 “Hello World”, 那你可能看到了一個(gè)錯(cuò)誤頁(yè)面,或者其他什么完全不同的。第一步去查看錯(cuò)誤日志看看到底是什么發(fā)生了錯(cuò)誤。我習(xí)慣于在瀏覽器中請(qǐng)求后立即查看錯(cuò)誤日志。你可以使用 tail 工具:tail -f /path/to/apache/logs/error_log(使用你的真實(shí) error_log 路徑替換上面的路徑。如果你不肯定它在哪里,查看你的 httpd.conf 文件的 ErrorLog 指令部分) 
現(xiàn)在重新載入頁(yè)面,然后 error_log 將告訴你什么地方出現(xiàn)了問題。更多的關(guān)于 perl 調(diào)試,請(qǐng)參見 perldebug. 
加入更多 
現(xiàn)在如果你想要針對(duì)上面的情況作一些修改,該如何做呢?不幸的,唯一一種安裝模式如下: 
修改你的 First.pm 文件 
重新以 root 身份運(yùn)行 make install 
重新啟動(dòng) Apache 
這也許很麻煩,特別是重新啟動(dòng) Apache。針對(duì)這個(gè)問題,我們可以另外安裝一個(gè)特別設(shè)計(jì)的模塊來避免每次這樣麻煩的做。首先你需要從 CPAN 下載并安裝 Apache::Reload 模塊(除非你已經(jīng)使用 mod_perl 1.26 或者更高版本)。在這里 http://search.cpan.org/search?dist=Apache-Reload 下載。 
解開 tar.gz 文件并進(jìn)入新目錄,執(zhí)行: 
perl Makefile.PL
make然后到 root 身份執(zhí)行: 
make install現(xiàn)在再次打開 httpd.conf 文件,加入: 
PerlInitHandler Apache::Reload這將測(cè)試所有有所改變的模塊并在必要時(shí)自動(dòng)重新載入新模塊。這對(duì)于開發(fā)來說很有用,但會(huì)有性能損失,所以在開發(fā)完成之后,就將該特性關(guān)閉。 
閱讀更多 
從這里開始你有很多事情需要去做。Apache API 本身就十分龐大,大多數(shù)都可以通過 perldoc Apache 看到相應(yīng)的文檔. 現(xiàn)在這個(gè)模塊基本上沒有什么價(jià)值,因?yàn)橹挥幸粋€(gè) URI 可以用于被該模塊所控制(http://server/mod_perl_tutorial),這使得它變得不夠靈活。為了使一個(gè)模塊可以處理多個(gè) URI ,有許多解決辦法,但最好的還是推薦使用 Apache::Dispatch 模塊。 
可以在 CPAN 下載 http://search.cpan.org/search?dist=Apache-Dispatch. Apache::Dispatch 允許你保留標(biāo)準(zhǔn)的 mod_perl handler構(gòu)架,同時(shí)還允許多個(gè)函數(shù)和多個(gè)URIs 被派發(fā)。 
接下來我不建議象例子中一樣直接向?yàn)g覽器輸出內(nèi)容。請(qǐng)考慮使用一些常用的模版技術(shù),比如 Template-Toolkit, HTML::Template, 更甚于使用 XSLT 或者 XPathScript (有很多很多這樣的模版技術(shù)可選,我們希望有一天可以有文章來討論這些技術(shù)來幫助你來選擇)。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
91精品人妻一区二区三区四区| 7m第一福利500精品视频| 亚洲精品写真福利| 国产aⅴ精品一区二区三区久久| 91成人在线观看喷潮教学| 亚洲色图在线播放| 日韩一区二区久久久| 91亚洲男人天堂| 欧美成人精品一级| 欧美日韩一区二区三区免费| 制服丝袜亚洲色图| 国产天堂在线观看| 国产亚洲一区二区三区在线播放| 色多多国产成人永久免费网站| 国产精品黄视频| 欧美日韩精品综合| 日韩毛片免费视频一级特黄| 国产伦理精品| 麻豆一区一区三区四区| 日韩免费高清一区二区| 日韩免费av网站| 久久久无码人妻精品一区| 天堂成人在线| 一区久久精品| 欧美韩国一区二区| 亚洲国产成人在线观看| 欧美黑人孕妇孕交| 性一交一乱一色一免费无遮挡| 亚洲天堂网在线播放| 亚洲国产欧美一区二区三区同亚洲| 99热6这里只有精品| 欧洲av无码放荡人妇网站| 免费黄色网址网站| 香蕉亚洲视频| 国产夫妻自拍av| 99riav视频在线观看| 巨茎人妖videos另类| 蜜桃视频在线观看网站| 亚洲国产精品一区二区久久hs| 欧美日韩亚洲国内综合网俺| 99高清视频有精品视频| 国产精品18hdxxxⅹ在线| 亚洲欧洲美洲av| 亚洲线精品一区二区三区八戒| 亚洲国产福利视频| 欧美日韩视频在线第一区| 粉嫩一区二区三区性色av| 亚洲第一福利在线观看| 欧美亚洲禁片免费| 欧美一区二区福利视频| wwww国产精品欧美| 国产一区 在线播放| 国产成人综合一区| ass白嫩白嫩的小美女| 国产日韩欧美一区二区| 日本欧美韩国国产| 草b视频在线观看| 欧美成人午夜电影| 日韩中文av在线| 日韩黄色高清视频| 国产破处视频在线观看| 欧美一级大片视频| 91精品啪在线观看国产手机| av加勒比在线| 无码日韩精品一区二区免费| 免费看毛片网站| 成人高清在线观看| 涩涩涩久久久成人精品| 清纯唯美激情亚洲| 警花观音坐莲激情销魂小说| 日韩情爱电影在线观看| 久久国产视频一区| 精品系列免费在线观看| 99国产超薄丝袜足j在线观看| 欧美特黄一区二区三区| 1卡2卡3卡精品视频| 亚洲天天做日日做天天谢日日欢| 亚洲第一综合色| 爱啪导航一精品导航站| 久久久久久久国产精品视频| 欧美人妻精品一区二区三区| 黄色成人在线网址| 国产欧美三级| 精品国精品国产自在久国产应用| 日韩在线一区二区三区| 国产三级一区二区三区| 日韩精品四区| 成人精品一区二区三区校园激情| 久草这里只有精品视频| 国产精品天干天干在观线| youjizz在线视频| 欧美13videosex性极品| 伊人春色精品| 国产欧美一级片| 在线观看国产精品日韩av| 污视频免费在线观看| 2020国产精品| 欧美一区二区在线视频| 悠悠资源av网址| 国产色视频在线| 一本色道久久88精品综合| 精品国产自在精品国产浪潮| 精品午夜av| 欧美激情视频一区二区| 日韩欧美精品一区| 岛国av在线一区| 欧洲一区二区三区在线| 91免费在线| 朝桐光av在线一区二区三区| 激情网址大全| 免费在线看一区| 国产亚洲精品一区二区在线观看| 久久综合久久久久| 欧美韩国理论所午夜片917电影| 伦理av在线| 深夜免费福利视频| www色com| 成人免费看黄网址| 精品福利影院| 欧美亚洲国产日本| 亚洲欧美综合一区| 美女一区二区三区视频| 奇米精品一区二区三区在线观看一| 日韩欧美不卡一区| 又黄又爽在线免费观看| 久久婷婷一区| 亚洲一级中文字幕| 欧美一级色片| 久久久精品2019中文字幕神马| 添女人荫蒂视频| 国产伦精品一区二区三| 极品尤物久久久av免费看| 99在线热播精品免费99热| 蜜桃精品一区二区三区| 欧美三级精品| 欧美视频完全免费看| 精品欧美一区免费观看α√| 黄色电影免费在线观看| 一区二区三区天堂av| 国产欧美日韩免费看aⅴ视频| 特级全黄一级毛片| 自拍偷拍第八页| 国产日韩欧美高清免费| 国产精品入口免费麻豆| 中文字幕不卡在线| 性色av免费观看| 天海翼女教师无删减版电影| 日韩黄色三级视频| 亚洲精品一二三四| 国产精品igao视频| 亚洲一区二区3| 真实原创一区二区影院| 日韩av资源在线播放| 亚洲成av人片一区二区三区| 国产蜜臀av在线一区二区三区| 国产精品久久久久久久久久10秀| 丰满岳乱妇国产精品一区| 免费a在线观看播放| 激情综合一区二区三区| 中文字幕免费中文| 成人免费视频网站入口| 免费电影网站在线视频观看福利| 精品视频1区2区3区| 先锋影音中文字幕| 欧美一级黄视频| 国产精品永久免费| 欧美性色xo影院| 久久精品色播| 再深点灬舒服灬太大了添少妇视频| 久草在线综合| 欧美精品观看| 日韩伦理一区二区三区| 啪啪激情综合网| 国产精品1区2区3区| 欧美韩国理论所午夜片917电影| 刘亦菲久久免费一区二区| 伊人久久大香线蕉精品| 青草影视电视剧免费播放在线观看| 精品国产一二三区| 欧美电视剧在线看免费| h七七www色午夜日本| 欧美性生交xxxxxdddd| 人妻精油按摩bd高清中文字幕| 日韩成人免费视频| 亚洲国产一区二区精品专区| 日韩精品久久久久久久| x88av蜜桃臀一区二区| 日本在线视频一区| 久久综合免费视频| 欧美最新精品| 国产丝袜精品视频| 亚洲国产日本| 99超碰麻豆| 性色视频在线| 免费看国产片在线观看| 日本福利视频网站| 97在线中文字幕| 免费人成黄页网站在线一区二区| 国产日产精品一区| 福利视频一区| japansex久久高清精品| 国产欧美第一页| 欧美一级视频在线观看| 欧美色综合天天久久综合精品| 在线观看中文字幕网站| 轻轻操 在线观看| 色猫猫成人app| 国产精品 日产精品 欧美精品| 在线观看日韩精品| 国产亚洲第一区| 在线视频国产三级| 成人免费高清| 欧美va天堂| 亚洲一区二区高清视频| 免费久久精品视频| 亚洲 自拍 另类小说综合图区| 日韩中文字幕亚洲| 蜜桃999成人看片在线观看| 久久久久久婷| 国产又爽又黄ai换脸| 波多野结衣爱爱| 国产一区二区三区综合| 91精品一区二区三区综合在线爱| 国产在亚洲线视频观看| 天然素人一区二区视频| 欧美电影在线免费观看| 日日摸日日添日日躁av| 精品国产伦一区二区三区免费| 秋霞毛片大全| 精品国模一区二区三区欧美| 中文字幕在线播放日韩| 国产性猛交xxxx免费看久久| 久久久久这里只有精品| 欧美日韩一区二区三区在线免费观看| 国产欧美一区二区在线| 激情欧美一区二区三区中文字幕| 中文写幕一区二区三区免费观成熟| 国产欧美日韩在线| 成人免费毛片片v| 国产免费观看久久黄| 成人信息集中地欧美| 国产精品成人自拍| 欧美视频免费看| 欧美特黄一级| 国产激情在线观看| 国产成人精品免费网站| 精品国产91久久久久久浪潮蜜月| 轻点好疼好大好爽视频| 一区二区久久精品66国产精品| 亚洲激情在线观看| 国产精品久久久久久久久久久久久久| 亚洲欧洲日产国码av系列天堂| h片在线观看视频| 日本韩国一区二区三区视频| 亚洲18在线看污www麻豆| 国产精品二区视频| 想看黄色一级片| 国产精品蜜臀av| 丝袜理论片在线观看| 亚洲乱码国产乱码精品精可以看| 久草国产在线观看| 国产18无套直看片| 毛片网站在线观看| 秋霞av在线| 亚洲日本欧美天堂| 欧美亚韩一区二区三区| 手机看片1024国产| 国产欧美日韩综合精品| 国产九色精品| 青草视频在线免费直播| 菠萝蜜网站在线观看| 操你啦视频分享| 国产欧美日韩卡一| 欧美久久久久久蜜桃| 好吊成人免视频| 一本色道久久99精品综合| 免费观看久久久久| 激情在线小视频| 中文字幕在线播放不卡| 亚洲人成电影在在线观看网色| av在线免费播放| 免费男女羞羞的视频网站在线观看| 欧美韩国日本精品一区二区三区| 国产日韩中文在线中文字幕| www.4438全国最大| 亚洲女同精品视频| 久久综合网导航| 国产在线88av| 亚洲欧美日韩一区| 九色自拍视频在线观看| 欧美一级久久久久久久久大| 涩涩网站在线观看| 精品国产成人亚洲午夜福利| 在线观看免费高清视频97| 久草在线视频资源| 要久久爱电视剧全集完整观看| 理论片播放午夜国外| 国产精品视频九色porn| 一区二区在线免费| 天天天天天天天干| 污视频网站在线观看| 日韩欧美一区三区| 美国黄色特级片| 欧美高清激情brazzers| 欧美日韩国产综合久久| 中文xxx视频| 色资源二区在线视频| 波多视频一区| 青娱乐极品盛宴一区二区| 色偷偷亚洲男人天堂| 欧美一区二区三区精品| 亚洲小说图片| 国产精品免费麻豆入口| 欧美大片网址| 久久久精品亚洲| 久久99精品国产.久久久久久| 亚洲一级不卡视频| 我的公把我弄高潮了视频| 欧美精品欧美精品| 精品久久久中文| 最新在线观看av网站| 极品销魂美女一区二区三区| 亚洲人性生活视频| 香蕉成人app| 成人在线丰满少妇av| 成人激情免费视频| 日韩一区二区三区精品| 宅男噜噜噜66一区二区66|