|
| 1 | +<?xml version="1.0" encoding="iso-2022-jp" ?> |
| 2 | +<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> |
| 3 | +<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?> |
| 4 | +<!-- English revision: 1.2 --> |
| 5 | + |
| 6 | +<manualpage> |
| 7 | + <relativepath href="."/> |
| 8 | + |
| 9 | + <title>$BF0E*6&M-%*%V%8%'%/%H(B (DSO) $B%5%]!<%H(B</title> |
| 10 | +
|
| 11 | + <summary> |
| 12 | + <p>Apache HTTP $B%5!<%P$O%b%8%e!<%k2=$5$l$?%W%m%0%i%`$G!"(B |
| 13 | + $B4IM}<T$,%b%8%e!<%k$rA*Br$9$k$3$H$G%5!<%P$KAH$_9~$`5!G=$rA*$V$3$H$,$G$-$^$9!#(B |
| 14 | + $B%b%8%e!<%k$O%5!<%P$,%S%k%I$5$l$k$H$-$K(B <code>httpd</code> $B%P%$%J%j$K(B |
| 15 | + $B@EE*$KAH$_9~$`$3$H$,$G$-$^$9!#$b$7$/$O!"(B<code>httpd</code> $B%P%$%J%j$H$O(B |
| 16 | + $BJL$KB8:_$9$kF0E*6&M-%*%V%8%'%/%H(B ($BLuCm(B: Dynamic Shared Object) |
| 17 | + (DSO) $B$H$7$F%3%s%Q%$%k$9$k$3$H$b(B |
| 18 | + $B$G$-$^$9!#(BDSO $B%b%8%e!<%k$O%5!<%P$,%S%k%I$5$l$k$H$-$K%3%s%Q%$%k$7$?$j!"(B |
| 19 | + Apache $B3HD%%D!<%k(B (<a href="programs/apxs.html">apxs</a>) $B$r(B |
| 20 | + $B;H$C$F8e$G%3%s%Q%$%k$7$FDI2C$7$?$j$G$-$^$9!#(B</p> |
| 21 | +
|
| 22 | + <p>$B$3$NJ8=q$O(B DSO $B%b%8%e!<%k$N;H$$J}$H!";EAH$_$K$D$$$F(B |
| 23 | + $B@bL@$7$^$9!#(B</p> |
| 24 | + </summary> |
| 25 | +
|
| 26 | +
|
| 27 | +<section id="implementation"><title>$B<BAu(B</title> |
| 28 | +
|
| 29 | +<related> |
| 30 | +<modulelist> |
| 31 | +<module>mod_so</module> |
| 32 | +</modulelist> |
| 33 | +<directivelist> |
| 34 | +<directive module="mod_so">LoadModule</directive> |
| 35 | +</directivelist> |
| 36 | +</related> |
| 37 | +
|
| 38 | + <p>$B8D!9$N(B Apache $B%b%8%e!<%k$r%m!<%I$9$k$?$a$N(B DSO $B%5%]!<%H$O(B |
| 39 | + <module>mod_so.c</module> $B$H$$$&%b%8%e!<%k$N5!G=$K4p$E$$$F$$$^$9!#(B |
| 40 | + $B$3$N%b%8%e!<%k(B $B$O(B Apache $B$N%3%"$K@EE*$KAH$_9~$^$l$F$$$kI,MW$,$"$j$^$9!#(B |
| 41 | + $B$=$l$O(B <module>core.c</module> $B0J30$G$O(B DSO $B$K$G$-$J$$M#0l$N(B |
| 42 | + $B%b%8%e!<%k$G$9!#;v<B>e!"B>$N$9$Y$F$N(B Apache $B$N%b%8%e!<%k$O!"(B |
| 43 | + <a href="install.html">$B%$%s%9%H!<%k$NJ8=q(B</a>$B$G@bL@$5$l$F$$$k$h$&$K!"(B |
| 44 | + <code>configure</code> $B$N(B |
| 45 | + <code>--enable-<em>module</em>=shared</code> $B%*%W%7%g%s$G$=$l$>$l$r(B |
| 46 | + DSO $B%S%k%I$K$9$k$3$H$K$h$j!"(BDSO $B%b%8%e!<%k$K$9$k$3$H$,$G$-$^$9!#(B |
| 47 | + <code>mod_foo.so</code> $B$N$h$&$J(B DSO $B$K%b%8%e!<%k$,%3%s%Q%$%k$5$l$l$P!"(B |
| 48 | + <code>httpd.conf</code> $B%U%!%$%kCf$G(B <module>mod_so</module> $B$N(B |
| 49 | + <directive module="mod_so">LoadModule</directive> |
| 50 | + $B%G%#%l%/%F%#%V$r;H$&$3$H$G%5!<%P$N5/F0$d:F5/F0;~$K$3$N%b%8%e!<%k$r(B |
| 51 | + $B%m!<%I$9$k$h$&$K$G$-$^$9!#(B</p> |
| 52 | +
|
| 53 | + <p>Apache $B%b%8%e!<%kMQ$N(B ($BFC$K%5!<%I%Q!<%F%#%b%8%e!<%k$N(B) DSO $B%U%!%$%k$N(B |
| 54 | + $B:n@.$r4JC1$K$9$k$?$a$K!"(B<a href="programs/apxs.html">apxs</a> |
| 55 | + (<em>APache eXtenSion</em>) $B$H$$$&?7$7$$%5%]!<%H%W%m%0%i%`$,$"$j$^$9!#(B |
| 56 | + Apache $B$N%=!<%9%D%j!<$N(B<em>$B30$G(B</em> DSO $B%b%8%e!<%k$r%S%k%I$9$k$?$a$K(B |
| 57 | + $B;H$&$3$H$,$G$-$^$9!#H/A[$OC1=c$G$9(B: Apache $B$N%$%s%9%H!<%k;~$N(B |
| 58 | + <code>configure</code>$B!"(B<code>make install</code> $B$N$H$-$K(B Apache $B$N(B |
| 59 | + C $B%X%C%@$r%$%s%9%H!<%k$7!"(BDSO $B%S%k%IMQ$N%W%i%C%H%U%)!<%`0MB8$N(B |
| 60 | + $B%3%s%Q%$%i$H%j%s%+$N%U%i%0$r(B <code>apxs</code> $B%W%m%0%i%`$KDI2C$7$^$9!#(B |
| 61 | + $B$3$l$K$h$j!"%f!<%6$,(B Apache $B$NG[I[%=!<%9%D%j!<$J$7$G!"$5$i$K(B |
| 62 | + DSO $B%5%]!<%H$N$?$a$N%W%i%C%H%U%)!<%`0MB8$N%3%s%Q%$%i$d%j%s%+$N(B |
| 63 | + $B%U%i%0$r$$$8$k$3$H$J$/(B Apache $B$N%b%8%e!<%k$N%=!<%9$r%3%s%Q%$%k(B |
| 64 | + $B$G$-$k$h$&$K$J$j$^$9!#(B</p> |
| 65 | +</section> |
| 66 | +
|
| 67 | +<section id="usage"><title>$B;HMQK!$N35MW(B</title> |
| 68 | +
|
| 69 | + <p>Apache 2.0 $B$N(B DSO $B5!G=$N35N,$rCN$k$3$H$,$G$-$k$?$a$N!"(B |
| 70 | + $BC;$/4J7i$J35MW$G$9(B:</p> |
| 71 | +
|
| 72 | + <ol> |
| 73 | + <li> |
| 74 | + <em>$BG[I[$5$l$F$$$k(B</em> Apache $B%b%8%e!<%k!"2>$K(B <code>mod_foo.c</code> |
| 75 | + $B$H$7$F!"$=$l$r(B DSO <code>mod_foo.so</code> $B$K%S%k%I!"%$%s%9%H!<%k(B: |
| 76 | +
|
| 77 | +<example> |
| 78 | +$ ./configure --prefix=/path/to/install --enable-foo=shared<br /> |
| 79 | +$ make install |
| 80 | +</example> |
| 81 | + </li> |
| 82 | +
|
| 83 | + <li> |
| 84 | + <em>$B%5!<%I%Q!<%F%#(B</em> Apache $B%b%8%e!<%k!"2>$K(B <code>mod_foo.c</code> |
| 85 | + $B$H$7$F!"$=$l$r(B DSO <code>mod_foo.so</code> $B$K%S%k%I!"%$%s%9%H!<%k(B: |
| 86 | +
|
| 87 | +<example> |
| 88 | +$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared<br /> |
| 89 | +$ make install |
| 90 | +</example> |
| 91 | + </li> |
| 92 | +
|
| 93 | + <li> |
| 94 | + $B6&M-%b%8%e!<%k$N(B <em>$B8e!9$N%$%s%9%H!<%k(B</em> $B$N$?$a$K(B |
| 95 | + Apache $B$r@_Dj(B: |
| 96 | +
|
| 97 | +<example> |
| 98 | +$ ./configure --enable-so<br /> |
| 99 | +$ make install |
| 100 | +</example> |
| 101 | + </li> |
| 102 | +
|
| 103 | + <li> |
| 104 | + <em>$B%5!<%I%Q!<%F%#(B</em> Apache $B%b%8%e!<%k!"2>$K(B <code>mod_foo.c</code> |
| 105 | + $B$H$7$F!"$=$l$r(B <a href="programs/apxs.html">apxs</a> $B$r;H$C$F(B |
| 106 | + Apache $B%=!<%9%D%j!<$N(B<em>$B30$G(B</em> DSO $B$K%S%k%I!"%$%s%9%H!<%k(B: |
| 107 | +
|
| 108 | +<example> |
| 109 | +$ cd /path/to/3rdparty<br /> |
| 110 | +$ apxs -c mod_foo.c<br /> |
| 111 | +$ apxs -i -a -n foo mod_foo.la |
| 112 | +</example> |
| 113 | + </li> |
| 114 | + </ol> |
| 115 | +
|
| 116 | + <p>$B$I$N>l9g$K$*$$$F$b!"6&M-%b%8%e!<%k$r%3%s%Q%$%k$7$?8e$G!"(B |
| 117 | + <code>httpd.conf</code> $B$G(B |
| 118 | + <directive module="mod_so">LoadModule</directive> |
| 119 | + $B%G%#%l%/%F%#%V$r;H$C$F(B Apache $B$,%b%8%e!<%k$r;HMQ$9$k$h$&$K(B |
| 120 | + $B$7$J$1$l$P$J$j$^$;$s!#(B</p> |
| 121 | +</section> |
| 122 | +
|
| 123 | +<section id="background"><title>$BGX7J(B</title> |
| 124 | +
|
| 125 | + <p>$B:G6a$N(B Unix $B7O$N(B OS $B$K$O(B <em>$BF0E*6&M-%*%V%8%'%/%H(B</em> (DSO) |
| 126 | + $B$NF0E*%j%s%/(B/$B%m!<%I$H$$$&5$$N$-$$$?5!9=$,(B |
| 127 | + $BB8:_$7$^$9!#$3$l$O!"<B9T;~$K%W%m%0%i%`$N%"%I%l%96u4V$K(B |
| 128 | + $B%m!<%I$G$-$k$h$&$JFCJL$J7A<0$G%W%m%0%i%`$r%S%k%I$9$k$3$H$r(B |
| 129 | + $B2DG=$K$7$^$9!#(B</p> |
| 130 | +
|
| 131 | + <p>$B$3$N%m!<%I$OFs$D$NJ}K!$G9T$J$&$3$H$,$G$-$^$9(B: $B<B9T%W%m%0%i%`$,(B |
| 132 | + $B5/F0$5$l$?$H$-$K(B <code>lod.so</code> $B$H$$$&%7%9%F%`%W%m%0%i%`(B |
| 133 | + $B$K$h$j<+F0E*$K9T$J$o$l$kJ}K!$H!"<B9T%W%m%0%i%`Cf$+$i!"%7%9%F%`%3!<%k(B |
| 134 | + <code>dlopen()/dlsym()</code> $B$K$h$k(B Unix $B%m!<%@$X$N(B |
| 135 | + $B%W%m%0%i%`%7%9%F%`$N%$%s%?%U%'!<%9$r;H$C$F<jF0$G9T$J$&J}K!$H$,(B |
| 136 | + $B$"$j$^$9!#(B</p> |
| 137 | +
|
| 138 | + <p>$B:G=i$NJ}K!$G$O(B DSO $B$OIaDL$O(B<em>$B6&M-%i%$%V%i%j(B</em>$B$d(B <em>DSO |
| 139 | + $B%i%$%V%i%j(B</em> $B$H8F$P$l$F$$$F!"(BDSO $B$NL>A0$O(B |
| 140 | + <code>libfoo.so</code> $B$d(B <code>libfoo.so.1.2</code> $B$N$h$&$K$J$C$F$$$^$9!#(B |
| 141 | + $B$3$l$i$O%7%9%F%`%G%#%l%/%H%j(B ($BDL>o(B <code>/usr/lib</code>) $B$KB8:_$7!"(B |
| 142 | + $B<B9T%W%m%0%i%`$X$N%j%s%/$O%S%k%I;~$K(B <code>-lfoo</code> $B$r%j%s%+$K(B |
| 143 | + $B;XDj$9$k$3$H$G3NN)$5$l$^$9!#$3$l$K$h$j%i%$%V%i%j$X$N;2>H$,<B9T%W%m%0%i%`$N(B |
| 144 | + $B%U%!%$%k$K=q$-9~$^$l$F!"5/F0;~$K(B Unix $B$N%m!<%@$,(B <code>/usr/lib</code> $B$d!"(B |
| 145 | + $B%j%s%+$N(B <code>-R</code> $B$N$h$&$J%*%W%7%g%s$K$h$j%O!<%I%3!<%I$5$l$?%Q%9!"(B |
| 146 | + $B4D6-JQ?t(B <code>LD_LIBRARY_PATH</code> $B$K$h$j@_Dj$5$l$?%Q%9!"$NCf$+$i(B |
| 147 | + <code>libfoo.so</code> $B$N>l=j$r8+$D$1$k$3$H$,$G$-$^$9!#$=$l$+$i!"(B |
| 148 | + $B<B9T%W%m%0%i%`Cf$N(B ($B$^$@L$2r7h$N(B) $B%7%s%\%k$r(B DSO $B$K$"$k%7%s%\%k$G(B |
| 149 | + $B2r7h$7$^$9!#(B</p> |
| 150 | +
|
| 151 | + <p>$BIaDL$O<B9T%W%m%0%i%`Cf$N%7%s%\%k$O(B DSO $B$+$i$O;2>H$5$l$^$;$s(B |
| 152 | + (DSO $B$O0lHLE*$J%3!<%I$K$h$k:FMxMQ2DG=$J%i%$%V%i%j$G$9$N$G(B)$B!#(B |
| 153 | + $B$G$9$+$i!"$5$i$J$k%7%s%\%k$N2r7h$OI,MW$"$j$^$;$s!#(B |
| 154 | + $B%7%s%\%k$O(B Unix $B%m!<%@$K$h$j40A4$J2r7h$,9T$J$o$l$^$9$N$G!"<B9T%U%!%$%k<+?H$O(B |
| 155 | + $B2?$b$9$kI,MW$,$"$j$^$;$s!#(B($B<B:]$N$H$3$m!"@EE*$G$J$$J}K!$G%j%s%/$5$l$F$$$k(B |
| 156 | + $B$9$Y$F$N<B9T%W%m%0%i%`$KAH$_9~$^$l$F$$$k3+;OMQ$N%3!<%I$N0lIt$K(B |
| 157 | + <code>ld.so</code> $B$r5/F0$9$k%3!<%I$,4^$^$l$F$$$^$9(B)$B!#$h$/;H$o$l$k(B |
| 158 | + $B%i%$%V%i%j$NF0E*%m!<%I$NMxE@$OL@$i$+$G$9!#%i%$%V%i%j$N%3!<%I$O(B |
| 159 | + $B%7%9%F%`%i%$%V%i%j$K(B <code>libc.so</code> $B$N$h$&$K$7$F0lEYJ]B8$9$k$@$1$G$h$/!"(B |
| 160 | + $B%W%m%0%i%`$N$?$a$KI,MW$J%G%#%9%/$NNN0h$r@aLs$9$k$3$H$,$G$-$^$9!#(B</p> |
| 161 | +
|
| 162 | + <p>$BFs$D$a$NJ}K!$G$O(B DSO $B$OIaDL$O(B<em>$B6&M-%*%V%8%'%/%H(B</em>$B$d(B |
| 163 | + <em>DSO $B%U%!%$%k(B</em>$B$H8F$P$l$F$$$F!"G$0U$N3HD%;R$rIU$1$k$3$H$,$G$-$^$9(B |
| 164 | + ($B$?$@$7!"I8=`E*$JL>A0$O(B <code>foo.so</code> $B$G$9(B)$B!#(B |
| 165 | + $B$3$l$i$N%U%!%$%k$ODL>o$O%W%m%0%i%`@lMQ$N%G%#%l%/%H%j$KCV$+$l!"(B |
| 166 | + $B$3$l$i$r;H$&<B9T%W%m%0%i%`$X$N%j%s%/$O<+F0E*$K$O$5$l$^$;$s!#(B |
| 167 | + $B$G$9$N$G!"<B9T%W%m%0%i%`$O(B <code>dlopen()</code> $B$r;H$C$F(B |
| 168 | + $B<B9T;~$K<jF0$G(B DSO $B$r%W%m%0%i%`$N%"%I%l%96u4V$K%m!<%I$9$kI,MW$,$"$j$^$9!#(B |
| 169 | + $B$3$N;~E@$G$O<B9T%W%m%0%i%`$KBP$7$F(B DSO $B$N%7%s%\%k$N2r7h$O9T$J$o$l$^$;$s!#(B |
| 170 | + $B$7$+$7!"$=$NBe$o$j$K(B Unix $B$N%m!<%@$,(B DSO $B$N(B ($B$^$@L$2r7h$N(B) $B%7%s%\%k$r(B |
| 171 | + $B<B9T%W%m%0%i%`$K$h$j%(%/%9%]!<%H$5$l$?%7%s%\%k$H4{$K%m!<%I$5$l$?(B |
| 172 | + DSO $B%i%$%V%i%j$K$h$j%(%/%9%]!<%H$5$l$?%7%s%\%k(B ($BFC$K!"$I$3$K$G$b$"$k(B |
| 173 | + <code>libc.so</code> $B$N$9$Y$F$N%7%s%\%k(B) $B$G<+F0E*$K2r7h$7$^$9!#(B |
| 174 | + $B$3$&$9$k$3$H$G!"(BDSO $B$O:G=i$+$i@EE*$K%j%s%/$5$l$F$$$?$+$N$h$&$K!"(B |
| 175 | + $B<B9T%W%m%0%i%`$N%7%s%\%k$rCN$k$3$H$,$G$-$^$9!#(B</p> |
| 176 | +
|
| 177 | + <p>$B:G8e$K!"(BDSO $B$N(B API $B$rMxE@$r@8$+$9$?$a$K!"%W%m%0%i%`$O(B |
| 178 | + $B8e$G%G%#%9%Q%C%A%F!<%V%k(B<em>$B$J$I(B</em>$B$G%7%s%\%k$r;H$&$3$H$,$G$-$k$h$&$K!"(B |
| 179 | + <code>dlsym()</code> $B$r;H$C$F$$$/$D$+$N%7%s%\%k$r2r7h$7$^$9!#(B |
| 180 | + $B$9$J$o$A(B: $B<B9T%W%m%0%i%`$OI,MW$J$9$Y$F$N%7%s%\%k$r<jF0$G2r7h$7$J$1$l$P(B |
| 181 | + $B$J$j$^$;$s!#$3$N5!9=$NMxE@$O%W%m%0%i%`$N%*%W%7%g%J%k$JItJ,$O(B |
| 182 | + $BI,MW$K$J$k$^$G%m!<%I$9$kI,MW$,$J$$(B ($B$@$+$i%a%b%j$b>CHq$7$J$$(B) |
| 183 | + $B$3$H$G$9!#I,MW$J$i$P!"4pK\%W%m%0%i%`$N5!G=$r3HD%$9$k$?$a$K(B |
| 184 | + $B$3$l$i$NItJ,$rF0E*$K%m!<%I$9$k$3$H$,$G$-$^$9!#(B</p> |
| 185 | +
|
| 186 | + <p>$B$3$N(B DSO $B5!9=$O4JC1$J$h$&$K8+$($^$9$,!">/$J$/$H$b0l$DFq$7$$E@$,(B |
| 187 | + $B$"$j$^$9(B: $B%W%m%0%i%`$r3HD%$9$k$?$a$K(B DSO $B$r;H$C$F$$$k$H$-$K!"(B |
| 188 | + DSO $B$,<B9T%W%m%0%i%`$+$i%7%s%\%k$r2r7h$9$kE@$G$9(B ($BFsHVL\$NJ}K!(B)$B!#(B |
| 189 | + $B$3$l$O$J$<$G$7$g$&$+!#$=$l$O!"(BDSO $B$N%7%s%\%k$r<B9T%W%m%0%i%`$N(B |
| 190 | + $B%7%s%\%k$+$i!V5U2r7h!W$9$k$H$$$&$N$O%i%$%V%i%j$N@_7W(B |
| 191 | + ($B%i%$%V%i%j$O$=$l$r;HMQ$9$k%W%m%0%i%`$N$3$H$O2?$b(B |
| 192 | + $BCN$i$J$$(B) $B$KH?$7$F$$$F!"$3$N5!G=$O$9$Y$F$N%W%i%C%H%U%)!<%`$K(B |
| 193 | + $B$"$k$o$1$G$O$J$/!"I8=`2=$b$5$l$F$$$J$$$+$i$G$9!#(B |
| 194 | + $B<B:]$K$O<B9T%W%m%0%i%`$N%0%m!<%P%k$J%7%s%\%k$O:F%(%/%9%]!<%H$5$l$k$3$H$O(B |
| 195 | + $B$"$^$j$J$/!"(BDSO $B$+$i;H$&$3$H$,$G$-$^$;$s!#%j%s%+$K%0%m!<%P%k%7%s%\%k$9$Y$F$r(B |
| 196 | + $B%(%/%9%]!<%H$9$k$h$&$K$5$;$kJ}K!$r8+$D$1$k$3$H$,!"<B9T;~$K%W%m%0%i%`$r(B |
| 197 | + $B3HD%$9$k$?$a$K(B DSO $B$r;H$&$H$-$N0lHV$NLdBj$G$9!#(B</p> |
| 198 | +
|
| 199 | + <p>$B6&M-%i%$%V%i%j$N%"%W%m!<%A$,IaDL$NJ}K!$G$9!#(BDSO $B5!9=$O$=$N$?$a$K(B |
| 200 | + $B@_7W$5$l$?$b$N$G$9$+$i!#$7$?$,$C$F!"$=$NJ}K!$O%*%Z%l!<%F%#%s%0%7%9%F%`$,(B |
| 201 | + $BDs6!$9$k$[$H$s$I$9$Y$F$N<oN`$N%i%$%V%i%j$G;H$o$l$F$$$^$9!#(B |
| 202 | + $B0lJ}!"%W%m%0%i%`$N3HD%$N$?$a$K6&M-%*%V%8%'%/%H$r;HMQ$9$k!"$H$$$&J}$O(B |
| 203 | + $B$"$^$j;H$o$l$F$$$^$;$s!#(B</p> |
| 204 | +
|
| 205 | + <p>1998 $BG/$N;~E@$G!"<B9T;~$K<B:]$K5!G=3HD%$N$?$a$K(B DSO $B5!9=$r;H$C$F$$$k(B |
| 206 | + $B%=%U%H%&%'%"%Q%C%1!<%8$O>/$7$@$1$G$7$?(B: Perl 5 (XS $B5!9=$H(B DnaLoader $B%b%8%e!<%k(B |
| 207 | + $B$K$h$k$b$N(B)$B!"(BNetscape $B%5!<%P(B<em>$B$J$I(B</em>$B$G$9!#(BApache $B$O$9$G$K(B |
| 208 | + $B%b%8%e!<%k$N35G0$r;H$C$F5!G=3HD%$r$7$F$$$F!"FbItE*$K%G%#%9%Q%C%A%j%9%H$K(B |
| 209 | + $B4p$E$$$?30It%b%8%e!<%k$N(B Apache $B%3%"5!G=$X$N%j%s%/$r9T$J$C$F$$$^$7$?$N$G!"(B |
| 210 | + $B%P!<%8%g%s(B 1.3 $B$+$i!"(BApache $B$b(B DSO $B5!9=$r;H$&Cg4V$K$J$j$^$7$?!#(B |
| 211 | + Apache $B$O<B9T;~$K(B DSO $B$r;H$C$F%b%8%e!<%k$r%m!<%I$9$k$h$&$K$9$G$K(B |
| 212 | + $B1?L?IU$1$i$l$F$$$?$N$G$9!#(B</p> |
| 213 | +</section> |
| 214 | +
|
| 215 | +<section id="advantages"><title>$BMxE@$H7gE@(B</title> |
| 216 | +
|
| 217 | + <p>$B>e5-$N(B DSO $B$K4p$E$$$?5!G=$O0J2<$NMxE@$,$"$j$^$9(B:</p> |
| 218 | +
|
| 219 | + <ul> |
| 220 | + <li>$B<B:]$N%5!<%P%W%m%;%9$rAH$_N)$F$k$?$a$K!"(B |
| 221 | + $B%S%k%I;~$K(B <code>configure</code> $B$N%*%W%7%g%s$r;H$&Be$o$j$K(B |
| 222 | + $B<B9T;~$K(B <code>httpd.conf</code> $B$N@_DjMQ%3%^%s%I(B |
| 223 | + <directive module="mod_so">LoadModule</directive> |
| 224 | + $B$r;H$&$3$H$,$G$-$^$9$N$G!"%5!<%P%Q%C%1!<%8$N=@Fp@-$,9b$^$j$^$7$?!#(B |
| 225 | + $B$?$H$($P!"0l$D$N(B Apache $B$N%$%s%9%H!<%k$+$i(B |
| 226 | + $B0c$&9=@.$N%5!<%P(B ($BI8=`HG$H(B SSL $BHG!":G>.9=@.$H3HD%HG(B [mod_perl, PHP3] |
| 227 | + <em>$B$J$I(B</em>) $B$r<B9T$9$k$3$H$,$G$-$^$9!#(B</li> |
| 228 | +
|
| 229 | + <li>$B%$%s%9%H!<%k$N8e$G$"$C$F$b!"%5!<%P$N%Q%C%1!<%8$r%5!<%I%Q!<%F%#(B |
| 230 | + $B%b%8%e!<%k$G4JC1$K3HD%$G$-$k$h$&$K$J$j$^$7$?!#$3$l$O!"(BApache $B%3%"(B |
| 231 | + $B%Q%C%1!<%8$H!"(BPHP3, mod_perl, mod_fastcgi <em>$B$J$I(B</em> $B$NDI2C$N(B |
| 232 | + $B%Q%C%1!<%8$r:n@.$G$-$k$N$G!">/$J$/$H$b%Y%s%@$N%Q%C%1!<%84IM}<T$K$H$C$F(B |
| 233 | + $BBg$-$JMxE@$,$"$j$^$9!#(B</li> |
| 234 | +
|
| 235 | + <li>Apache $B%b%8%e!<%k$N3+H/$,4JC1$K$J$j$^$9!#(B |
| 236 | + $B$3$l$O(B DSO/<code>apxs</code> $B$NAH$_9g$o$;$K$h$j!"(BApache $B%=!<%9%D%j!<$N(B |
| 237 | + $B30$G:n6H$G$-!"3+H/Cf$N%b%8%e!<%k$N?7$7$$%P!<%8%g%s$r(B |
| 238 | + $B<B9TCf$N(B Apache $B%5!<%P$KAH$_9~$`$?$a$K(B <code>apxs -i</code> $B$H(B |
| 239 | + <code>apachectl restart</code> $B$r9T$J$&$@$1$GNI$/$J$k$+$i$G$9!#(B</li> |
| 240 | + </ul> |
| 241 | +
|
| 242 | + <p>DSO $B$K$O0J2<$N7gE@$,$"$j$^$9(B:</p> |
| 243 | +
|
| 244 | + <ul> |
| 245 | + <li>$B$9$Y$F$N%*%Z%l!<%F%#%s%0%7%9%F%`$,%W%m%0%i%`$N%"%I%l%96u4V$K(B |
| 246 | + $B%3!<%I$rF0E*%m!<%I$9$k$3$H$r%5%]!<%H$7$F$$$k$o$G$O$J$$$N$G!"(B |
| 247 | + $B%W%i%C%H%U%)!<%`$K$h$C$F$O(B DSO $B5!9=$O;H$($^$;$s!#(B</li> |
| 248 | +
|
| 249 | + <li>Unix $B$N%m!<%@$,%7%s%\%k$N2r7h$r$9$kI,MW$,$G$-$?$N$G!"(B |
| 250 | + $B$=$N%*!<%P%X%C%I$K$h$j%5!<%P$N5/F0;~4V$,Ls(B 20% $BCY$/$J$C$F$$$^$9!#(B</li> |
| 251 | +
|
| 252 | + <li>$B0LCVHs0MB8%3!<%I(B (PIC) ($BLuCm(B position independent code) $B$O(B |
| 253 | + $BAjBP%"%I%l%9$N$?$a$KJ#;($J%"%;%s%V%i$N%H%j%C%/$,I,MW$J$3$H$,$"$j!"(B |
| 254 | + $B$=$l$OI,$:$7$b@dBP%"%I%l%9$HF1$8$/$i$$$NB.EY$,$G$k$o$1$G$O$"$j$^$;$s$N$G!"(B |
| 255 | + $B%W%i%C%H%U%)!<%`$K$h$C$F$O%5!<%P$N<B9TB.EY$,Ls(B 5% $BCY$/$J$j$^$9!#(B</li> |
| 256 | +
|
| 257 | + <li>DSO $B%b%8%e!<%k$O$9$Y$F$N%W%i%C%H%U%)!<%`$GB>$N(B DSO $B$K4p$E$$$?(B |
| 258 | + $B%i%$%V%i%j$KBP$7$F%j%s%/$G$-$k(B (<code>ld -lfoo</code>) |
| 259 | + $B$H$$$&$o$1$G$O$"$j$^$;$s$N$G(B ($B$?$H$($P!"(Ba.out $B$N%W%i%C%H%U%)!<%`$G$O(B |
| 260 | + $B$3$N5!G=$O$"$j$^$;$s$,!"(BELF $B$N%W%i%C%H%U%)!<%`$K$O$"$j$^$9(B)$B!"(B |
| 261 | + $B$9$Y$F$N<oN`$N%b%8%e!<%k$K(B DSO $B5!9=$r;H$($k$o$1$G$O$"$j$^$;$s!#(B |
| 262 | + $B8@$$49$($k$H!"(BDSO $B%U%!%$%k$H$7$F%3%s%Q%$%k$5$l$?%b%8%e!<%k$N(B |
| 263 | + $B;H$($k%7%s%\%k$O!"(B |
| 264 | + Apache $B$N%3%"$N%7%s%\%k!"(BC $B%i%$%V%i%j(B (<code>libc</code>) $B$H(B |
| 265 | + Apache $B%3%"$,;H$C$F$$$kB>$N$9$Y$F$N@EE*$J%i%$%V%i%j$HF0E*%i%$%V%i%j$N(B |
| 266 | + $B%7%s%\%k!"(BPIC $B$K$h$k@EE*$J%i%$%V%i%j(B (<code>libfoo.a</code>) $B$N(B |
| 267 | + $B%7%s%\%k$N$_$K@)8B$5$l$^$9!#$=$NB>$N%3!<%I$r;H$&J}K!$O!"(B |
| 268 | + Apache $B%3%"<+?H$,$9$G$K$=$N%3!<%I$X$N;2>H$,$"$k$h$&$K$9$k$+!"(B |
| 269 | + <code>dlopen ()</code> $B$r;H$C$F%3!<%I$r<+J,<+?H$G%m!<%I$9$k$+$N(B |
| 270 | + $B$I$A$i$+$7$+$"$j$^$;$s!#(B</li> |
| 271 | + </ul> |
| 272 | +
|
| 273 | +</section> |
| 274 | +
|
| 275 | +</manualpage> |
0 commit comments