📄 cgi.html.ja.jis
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head><title>Apache Tutorial: CGI $B$K$h$kF0E*%3%s%F%s%D(B</title></head><!-- English revision: 1.6 --><!-- Background white, links blue (unvisited), navy (visited), red (active) --><body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"alink="#FF0000"><!--#include virtual="header.html" --><h1 align="CENTER">CGI $B$K$h$kF0E*%3%s%F%s%D(B</h1><a name="__index__"></a> <!-- INDEX BEGIN --> <ul><li><a href="#dynamiccontentwithcgi">CGI $B$K$h$kF0E*%3%s%F%s%D(B</a></li><li><a href="#configuringapachetopermitcgi">CGI $B$r5v2D$9$k$h$&$K(B Apache $B$r(B$B@_Dj$9$k(B</a><ul><li><a href="#scriptalias">ScriptAlias</a></li><li><a href="#cgioutsideofscriptaliasdirectories">ScriptAlias $B%G%#%l%/%H%j30$N(BCGI</a><ul><li><a href="#explicitlyusingoptionstopermitcgiexecution">CGI $B$N<B9T$r2DG=$K(B$B$9$k$?$a$K(B Options $B$rL@<(E*$K;HMQ$9$k(B</a></li><li><a href="#htaccessfiles">.htaccess $B%U%!%$%k(B</a></li></ul></li></ul></li><li><a href="#writingacgiprogram">CGI $B%W%m%0%i%`$r=q$/(B</a><ul><li><a href="#yourfirstcgiprogram">$B$"$J$?$N:G=i$N(B CGI $B%W%m%0%i%`(B</a></li></ul></li><li><a href="#butitsstillnotworking">$B$7$+$7!"$^$@F0$+$J$$(B !</a><ul><li><a href="#filepermissions">$B%U%!%$%k$N%Q!<%_%C%7%g%s(B</a></li><li><a href="#pathinformation">$B%Q%9>pJs(B</a></li><li><a href="#syntaxerrors">$B9=J8%(%i!<(B</a></li><li><a href="#errorlogs">$B%(%i!<%m%0(B</a></li></ul></li><li><a href="#whatsgoingonbehindthescenes">$BN"$G2?$,5/$3$C$F$$$k$N$+(B?</a><ul><li><a href="#environmentvariables">$B4D6-JQ?t(B</a></li><li><a href="#stdinandstdout">$BI8=`F~=PNO(B</a></li></ul></li><li><a href="#cgimoduleslibraries">CGI $B%b%8%e!<%k(B/$B%i%$%V%i%j(B</a></li><li><a href="#formoreinformation">$B99$J$k>pJs(B</a></li></ul><!-- INDEX END --><hr><h2><a name="dynamiccontentwithcgi">CGI $B$K$h$kF0E*%3%s%F%s%D(B</a></h2><table border="1"><tr><td valign="top"><strong>$B4XO"%b%8%e!<%k(B</strong><br><br><a href="../mod/mod_alias.html">mod_alias</a><br><a href="../mod/mod_cgi.html">mod_cgi</a><br></td><td valign="top"><strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br><a href="../mod/mod_mime.html#addhandler">AddHandler</a><br><A HREF="../mod/core.html#options">Options</a><br><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a><br></td></tr></table><p>CGI (Common Gateway Interface) $B$O!"%&%'%V%5!<%P$,%3%s%F%s%D@8@.$r$9$k(B$B30It%W%m%0%i%`$H6(D4$7$FF0:n$9$k$?$a$NJ}K!$rDj5A$7$F$$$^$9!#$=$N%W%m%0%i%`$O$7$P$7$P(BCGI $B%W%m%0%i%`$d(B CGI $B%9%/%j%W%H$H8F$P$l$^$9!#(BCGI $B$O!"%&%'%V%5%$%H$K(B$BF0E*$J%3%s%F%s%D$rCV$/$?$a$N:G$b4JC1$G0lHLE*$JJ}K!$G$9!#$3$N%I%-%e%a%s%H$O!"(BApache $B%&%'%V%5!<%P$G(B CGI $B$r@_Dj$7!"(BCGI $B%W%m%0%i%`$r=q$-;O$a$k$?$a$N(B$BF~Lg=q$H$J$k$G$7$g$&!#(B</p><hr><h2><a name="configuringapachetopermitcgi">CGI $B$r5v2D$9$k$h$&$K(B Apache $B$r(B$B@_Dj$9$k(B</a></h2><p>CGI $B%W%m%0%i%`$r@5$7$/F0:n$5$;$k$K$O!"(BCGI $B$r5v2D$9$k$h$&$K(BApache $B$N@_Dj$r9T$&I,MW$,$"$j$^$9!#$3$l$r9T$J$&$?$a$NJ}K!$,$$$/$D$+(B$B$"$j$^$9!#(B</p><h3><a name="scriptalias">ScriptAlias</a></h3><p><code>ScriptAlias</code> $B%G%#%l%/%F%#%V$r;HMQ$7$F!"(BCGI $B%W%m%0%i%`MQ$N(B$BFCJL$JJL%G%#%l%/%H%j$r(B Apache $B$K@_Dj$7$^$9!#(BApache $B$O!"$3$N%G%#%l%/%H%jCf$NA4$F$N%U%!%$%k$r(B CGI $B%W%m%0%i%`$G$"$k$H(B$B2>Dj$7$^$9!#$=$7$F!"$3$NFCJL$J%j%=!<%9$,%/%i%$%"%s%H$+$iMW5a$5$l$k$H!"(B$B$=$N%W%m%0%i%`$N<B9T$r;n$_$^$9!#(B</p><p><code>ScriptAlias</code> $B%G%#%l%/%F%#%V$O0J2<$N$h$&$K;HMQ$7$^$9(B:</p><pre> ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/</pre><p>$B%G%U%)%k%H0LCV$K(B Apache $B$r%$%s%9%H!<%k$7$?$J$i$P!"(B$B$3$NNc$O%G%U%)%k%H>uBV$N(B <code>httpd.conf</code> $B@_Dj%U%!%$%k(B$B$K4^$^$l$F$$$^$9!#(B<code>ScriptAlias</code> $B%G%#%l%/%F%#%V$O!"(BURL $B$NA0$KIU2C$9$k%G%#%l%/%H%j$rDj5A$9$k(B <code>Alias</code> $B%G%#%l%/%F%#%V$H$+$J$j;w$F$$$^$9!#(B<code>Alias</code> $B$H(B <code>ScriptAlias</code> $B$ODL>o!"(B<code>DocumentRoot</code> $B%G%#%l%/%H%j30$N%G%#%l%/%H%j$N$?$a$K;HMQ$5$l$^$9!#(B<code>Alias</code> $B$H(B <code>ScriptAlias</code> $B$H$N:9$O!"(B<code>ScriptAlias</code> $B$,@\F,<-$G;O$^$k$9$Y$F$N(B URL $B$O(B CGI $B%W%m%0%i%`$H(B$B$_$J$5$l$k$H$$$&DI2C$N0UL#$r4^$s$G$$$k$3$H$G$9!#=>$C$F!"(B$B>e5-$NNc$G$O!"(B<code>/cgi-bin/</code>$B$G;O$^$k%j%=!<%9$X$N$"$i$f$k%j%/%(%9%H$KBP$7$F!"%G%#%l%/%H%j(B<code>/usr/local/apache/cgi-bin/</code>$B$+$iDs6!$7!"$=$l$i$r(B CGI $B%W%m%0%i%`$H$7$F07$&$h$&(B Apache $B$K<($7$^$9!#(B</p><p>$BNc$($P!"(BURL <code>http://dev.rcbowen.com/cgi-bin/test.pl</code>$B$,MW5a$5$l$?>l9g!"(BApache $B$O(B $B%U%!%$%k(B<code>/usr/local/apache/cgi-bin/test.pl</code> $B$r<B9T$7!"$=$N=PNO$rJV$9$3$H$r(B$B;n$_$^$9!#(B$B$b$A$m$s!"%U%!%$%k$,B8:_$7!"<B9T2DG=$G$"$j!"7h$a$i$l$?J}K!$G=PNO$rJV$7$^$9!#(B$B$=$&$G$J$1$l$P!"(BApache $B$O%(%i!<%a%C%;!<%8$rJV$7$^$9!#(B<h3><a name="cgioutsideofscriptaliasdirectories">ScriptAlias $B%G%#%l%/%H%j30$N(B CGI</a></h3><p>CGI $B%W%m%0%i%`$O!"%;%-%e%j%F%#>e$NM}M3$+$i(B<code>ScriptAlias</code> $B$5$l$?%G%#%l%/%H%j$K@)8B$5$l$k$3$H$,$7$P$7$P$"$j$^$9!#(B$B$3$NJ}K!$K$h$j!"(BCGI $B%W%m%0%i%`$r;HMQ$G$-$k%f!<%6$r4IM}<T$,87$7$/@)8f$9$k(B$B$3$H$,$G$-$^$9!#(B$B$7$+$7$J$,$i!"E,@Z$J%;%-%e%j%F%#;vA0BP:v$,$H$i$l$k$J$i$P!"(BCGI $B%W%m%0%i%`(B$B$rG$0U$N%G%#%l%/%H%j$G<B9T$G$-$J$$$h$&$K$9$kM}M3$O$"$j$^$;$s!#(B$BNc$($P!"%f!<%6$K(B <code>UserDir</code> $B%G%#%l%/%F%#%V$G(B$BH`$i$N%[!<%`%G%#%l%/%H%jG[2<$K%&%'%V%3%s%F%s%D$r;}$?$;$?$$$H$7$^$9!#(B$B$b$7!"H`$i$,(B CGI $B%W%m%0%i%`$r;}$D$3$H$rK>$s$G$$$F$b!"%a%$%s$N(B<code>cgi-bin</code> $B%G%#%l%/%H%j$X$N%"%/%;%9$,$G$-$J$$>l9g!"(BCGI $B%W%m%0%i%`$r(B$B<B9T$9$k$3$H$,$G$-$kB>$N>l=j$,I,MW$K$J$j$^$9!#(B</p><h3><a name="explicitlyusingoptionstopermitcgiexecution">CGI $B$N<B9T$r2DG=$K$9$k$?$a$K(B Options $B$rL@<(E*$K;HMQ$9$k(B</a></h3><p>$B%5!<%P$N%a%$%s$N@_Dj%U%!%$%kCf$G(B <code>Options</code> $B%G%#%l%/%F%#%V$r(B$BL@<(E*$K;HMQ$9$k$3$H$G!"FCDj$N%G%#%l%/%H%jG[2<$G(B CGI $B$N<B9T$r5v2D$9$k$h$&$K(B$B;XDj$9$k$3$H$,$G$-$^$9(B:<p><pre> <Directory /usr/local/apache/htdocs/somedir> Options +ExecCGI </Directory></pre><p>$B>e5-%G%#%l%/%F%#%V$O!"(BCGI $B%U%!%$%k$N<B9T$r2DG=$K$9$k$h$&(B Apache $B$KEA$($^$9!#$^$?!"$I$N%U%!%$%k$,(B CGI $B%U%!%$%k$+$r(B$B%5!<%P$KEA$($kI,MW$,$"$j$^$9!#<!$N(B <code>AddHandler</code>$B%G%#%l%/%F%#%V$NNc$G$O!"(B<code>cgi</code> $B$^$?$O(B <code>pl</code> $B$r3HD%;R$K(B$B;}$D$9$Y$F$N%U%!%$%k$r(B CGI $B%W%m%0%i%`$H$7$F$_$J$9$3$H$r%5!<%P$KEA$($^$9(B:<p><pre> AddHandler cgi-script cgi pl</pre><h3><a name="htaccessfiles">.htaccess $B%U%!%$%k(B</a></h3><p><code>.htaccess</code> $B%U%!%$%k$O!"%G%#%l%/%H%jKh$K(B$B%G%#%l%/%F%#%V$r;XDj$9$kJ}K!$G$9!#(BApache $B$O!"%j%=!<%9$rDs6!$9$k$H$-$K!"Ds6!$9$k%U%!%$%k$,CV$+$l$F$$$k(B$B%G%#%l%/%H%jCf$N(B <code>.htaccess</code> $B$H$$$&%U%!%$%k$r;2>H$7$^$9!#(B$B$=$N%U%!%$%k$rH/8+$7$?$i!"$=$NCf$GH/8+$5$l$?%G%#%l%/%F%#%V$,E,MQ$5$l$^$9!#(B<code>.htaccess</code> $B%U%!%$%k$O!"(B<code>AllowOverride</code> $B%G%#%l%/%F%#%V$N;XDj$K$h$j;H$($k$h$&$K$J$j$^$9!#(B<code>AllowOverride</code> $B%G%#%l%/%F%#%V$O!"(B<code>.htaccess</code> $B%U%!%$%k$G(B$B@_Dj$G$-$k%G%#%l%/%F%#%V$N%?%$%W$r;XDj$7$^$9!#(B<code>AllowOverride</code> $B%G%#%l%/%F%#%V$N;XDj$,$J$$>l9g!"$^$C$?$/;H$($^$;$s!#(BCGI $B$N<B9T$r5v2D$9$k$?$a$KI,MW$H$J$k%G%#%l%/%F%#%V$r;XDj2DG=$K$9$k$K$O!"(B$B0J2<$N@_Dj$,%5!<%P$N%a%$%s$N@_Dj$GI,MW$K$J$j$^$9(B:</p><pre> AllowOverride Options</pre><p><code>.htaccess</code> $B%U%!%$%k$G$O!"<!$N%G%#%l%/%F%#%V$,I,MW$H(B$B$J$j$^$9(B:</p><pre> Options +ExecCGI</pre><p>$B$3$N@_Dj$G$O!"$3$N%G%#%l%/%H%j$K$*$1$k(B CGI $B%W%m%0%i%`$N<B9T$r5v2D$9$k$h$&(BApache $B$KEA$($^$9!#(B</p><hr><h2><a name="writingacgiprogram">CGI $B%W%m%0%i%`$r=q$/(B</a></h2><p>$BDL>o$N%W%m%0%i%_%s%0$H(B CGI $B%W%m%0%i%_%s%0$N4V$K$O<g$KFs$D$N0c$$$,(B$B$"$j$^$9!#(B</p><p>$B0l$D$O!"(BCGI $B%W%m%0%i%`$N$9$Y$F$N=PNO$K$O(B MIME-type$B%X%C%@$rIU$1$J$1$l$P$J$j$^$;$s!#$3$l$O$I$N$h$&$J<oN`$N%3%s%F%s%D$r<u$1<h$C$F(B$B$$$k$+$r%/%i%$%"%s%H$K<($9(B HTTP $B%X%C%@$G$9!#$[$H$s$I$N>l9g$G$O!"(B$B<!$N$h$&$K=PNO$7$^$9(B:</p><pre> Content-type: text/html</pre><p>$B$b$&0l$D$O!"=PNO$r(B HTML $B$+!"%V%i%&%6$,I=<($9$k$3$H$,(B$B$G$-$k2?$+B>$N7A<0$K$9$kI,MW$,$"$j$^$9!#(B$BBgDq$N>l9g$O(B HTML $B$G$7$g$&$,!"(BGIF $B%$%a!<%8$dB>$NHs(B HTML $B%3%s%F%s%D$r=PNO$9$k(B CGI $B%W%m%0%i%`$r=q$/$3$H$b$"$k$G$7$g$&!#(B</p><p>$B$3$l$iFsE@0J30$G$O!"(BCGI $B%W%m%0%i%`$r=q$/$3$H$O!"$"$J$?$,=q$$$F$$$k(B$BB>$N%W%m%0%i%`$HBg$$$K;w$F$$$k$G$7$g$&!#(B</p><h3><a name="yourfirstcgiprogram">$B$"$J$?$N:G=i$N(B CGI $B%W%m%0%i%`(B</a></h3><p>$B<!$K<($9$N$O!"%V%i%&%6$K(B 1 $B9T0u;z$9$k(B CGI $B%W%m%0%i%`$NNc$G$9!#(B$B0J2<$rF~NO$7!"(B<code>first.pl</code> $B$H$$$&%U%!%$%k$KJ]B8$7!"$=$l$r(B<code>cgi-bin</code> $B%G%#%l%/%H%j$KCV$$$F$/$@$5$$!#(B</p><pre> #!/usr/bin/perl print "Content-type: text/html\r\n\r\n"; print "Hello, World.";</pre><p>Perl $B$K@:DL$7$F$$$J$/$F$b!"2?$,5/$3$k$+$r(B$BM}2r$9$k$3$H$O$G$-$k$O$:$G$9!#(B1 $B9TL\$O!"(B<code>/usr/bin/perl</code> $B$G8+$D$1(B$B$i$l$k%$%s%?%W%j%?$K$3$N%U%!%$%k$r6!5k$9$k$3$H$G$3$N%W%m%0%i%`$,<B9T$5$l$k$3$H$r(B
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -