| <?xml version="1.0" encoding="EUC-JP"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>ưŪ¶¦Í¥ª¥Ö¥¸¥§¥¯¥È (DSO) ¥µ¥Ý¡¼¥È - Apache HTTP ¥µ¡¼¥Ð</title> |
| <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> |
| <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> |
| <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> |
| <link href="./images/favicon.ico" rel="shortcut icon" /></head> |
| <body id="manual-page"><div id="page-header"> |
| <p class="menu"><a href="./mod/">¥â¥¸¥å¡¼¥ë</a> | <a href="./mod/directives.html">¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">ÍѸì</a> | <a href="./sitemap.html">¥µ¥¤¥È¥Þ¥Ã¥×</a></p> |
| <p class="apache">Apache HTTP ¥µ¡¼¥Ð ¥Ð¡¼¥¸¥ç¥ó 2.1</p> |
| <img alt="" src="./images/feather.gif" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP ¥µ¡¼¥Ð</a> > <a href="http://httpd.apache.org/docs-project/">¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó</a> > <a href="./">¥Ð¡¼¥¸¥ç¥ó 2.1</a></div><div id="page-content"><div id="preamble"><h1>ưŪ¶¦Í¥ª¥Ö¥¸¥§¥¯¥È (DSO) ¥µ¥Ý¡¼¥È</h1> |
| <div class="toplang"> |
| <p><span>Available Languages: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="./ja/dso.html" title="Japanese"> ja </a> | |
| <a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> |
| </div> |
| |
| <p>Apache HTTP ¥µ¡¼¥Ð¤Ï¥â¥¸¥å¡¼¥ë²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ç¡¢ |
| ´ÉÍý¼Ô¤¬¥â¥¸¥å¡¼¥ë¤òÁªÂò¤¹¤ë¤³¤È¤Ç¥µ¡¼¥Ð¤ËÁȤ߹þ¤àµ¡Ç½¤òÁª¤Ö¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ |
| ¥â¥¸¥å¡¼¥ë¤Ï¥µ¡¼¥Ð¤¬¥Ó¥ë¥É¤µ¤ì¤ë¤È¤¤Ë <code>httpd</code> ¥Ð¥¤¥Ê¥ê¤Ë |
| ÀÅŪ¤ËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤â¤·¤¯¤Ï¡¢<code>httpd</code> ¥Ð¥¤¥Ê¥ê¤È¤Ï |
| Ê̤˸ºß¤¹¤ëưŪ¶¦Í¥ª¥Ö¥¸¥§¥¯¥È (ÌõÃí: Dynamic Shared Object) |
| (DSO) ¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â |
| ¤Ç¤¤Þ¤¹¡£DSO ¥â¥¸¥å¡¼¥ë¤Ï¥µ¡¼¥Ð¤¬¥Ó¥ë¥É¤µ¤ì¤ë¤È¤¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤ê¡¢ |
| Apache ³ÈÄ¥¥Ä¡¼¥ë (<a href="programs/apxs.html">apxs</a>) ¤ò |
| »È¤Ã¤Æ¸å¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤ÆÄɲä·¤¿¤ê¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>¤³¤Îʸ½ñ¤Ï DSO ¥â¥¸¥å¡¼¥ë¤Î»È¤¤Êý¤È¡¢»ÅÁȤߤˤĤ¤¤Æ |
| ÀâÌÀ¤·¤Þ¤¹¡£</p> |
| </div> |
| <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#implementation">¼ÂÁõ</a></li> |
| <li><img alt="" src="./images/down.gif" /> <a href="#usage">»ÈÍÑË¡¤Î³µÍ×</a></li> |
| <li><img alt="" src="./images/down.gif" /> <a href="#background">ÇØ·Ê</a></li> |
| <li><img alt="" src="./images/down.gif" /> <a href="#advantages">ÍøÅÀ¤È·çÅÀ</a></li> |
| </ul></div> |
| <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="implementation" id="implementation">¼ÂÁõ</a></h2> |
| |
| <table class="related"><tr><th>´ØÏ¢¥â¥¸¥å¡¼¥ë</th><th>´ØÏ¢¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table> |
| |
| <p>¸Ä¡¹¤Î Apache ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ë¤¿¤á¤Î DSO ¥µ¥Ý¡¼¥È¤Ï |
| <code class="module"><a href="./mod/mod_so.c.html">mod_so.c</a></code> ¤È¤¤¤¦¥â¥¸¥å¡¼¥ë¤Îµ¡Ç½¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£ |
| ¤³¤Î¥â¥¸¥å¡¼¥ë ¤Ï Apache ¤Î¥³¥¢¤ËÀÅŪ¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ |
| ¤½¤ì¤Ï <code class="module"><a href="./mod/core.c.html">core.c</a></code> °Ê³°¤Ç¤Ï DSO ¤Ë¤Ç¤¤Ê¤¤Í£°ì¤Î |
| ¥â¥¸¥å¡¼¥ë¤Ç¤¹¡£»ö¼Â¾å¡¢Â¾¤Î¤¹¤Ù¤Æ¤Î Apache ¤Î¥â¥¸¥å¡¼¥ë¤Ï¡¢ |
| <a href="install.html">¥¤¥ó¥¹¥È¡¼¥ë¤Îʸ½ñ</a>¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢ |
| <code>configure</code> ¤Î |
| <code>--enable-<em>module</em>=shared</code> ¥ª¥×¥·¥ç¥ó¤Ç¤½¤ì¤¾¤ì¤ò |
| DSO ¥Ó¥ë¥É¤Ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢DSO ¥â¥¸¥å¡¼¥ë¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ |
| <code>mod_foo.so</code> ¤Î¤è¤¦¤Ê DSO ¤Ë¥â¥¸¥å¡¼¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ì¤Ð¡¢ |
| <code>httpd.conf</code> ¥Õ¥¡¥¤¥ëÃæ¤Ç <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> ¤Î |
| <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»È¤¦¤³¤È¤Ç¥µ¡¼¥Ð¤Îµ¯Æ°¤äºÆµ¯Æ°»þ¤Ë¤³¤Î¥â¥¸¥å¡¼¥ë¤ò |
| ¥í¡¼¥É¤¹¤ë¤è¤¦¤Ë¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>Apache ¥â¥¸¥å¡¼¥ëÍѤΠ(Æä˥µ¡¼¥É¥Ñ¡¼¥Æ¥£¥â¥¸¥å¡¼¥ë¤Î) DSO ¥Õ¥¡¥¤¥ë¤Î |
| ºîÀ®¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢<a href="programs/apxs.html">apxs</a> |
| (<em>APache eXtenSion</em>) ¤È¤¤¤¦¿·¤·¤¤¥µ¥Ý¡¼¥È¥×¥í¥°¥é¥à¤¬¤¢¤ê¤Þ¤¹¡£ |
| Apache ¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤Î<em>³°¤Ç</em> DSO ¥â¥¸¥å¡¼¥ë¤ò¥Ó¥ë¥É¤¹¤ë¤¿¤á¤Ë |
| »È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£È¯ÁÛ¤Ïñ½ã¤Ç¤¹: Apache ¤Î¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î |
| <code>configure</code>¡¢<code>make install</code> ¤Î¤È¤¤Ë Apache ¤Î |
| C ¥Ø¥Ã¥À¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢DSO ¥Ó¥ë¥ÉÍѤΥץé¥Ã¥È¥Õ¥©¡¼¥à°Í¸¤Î |
| ¥³¥ó¥Ñ¥¤¥é¤È¥ê¥ó¥«¤Î¥Õ¥é¥°¤ò <code>apxs</code> ¥×¥í¥°¥é¥à¤ËÄɲä·¤Þ¤¹¡£ |
| ¤³¤ì¤Ë¤è¤ê¡¢¥æ¡¼¥¶¤¬ Apache ¤ÎÇÛÉÛ¥½¡¼¥¹¥Ä¥ê¡¼¤Ê¤·¤Ç¡¢¤µ¤é¤Ë |
| DSO ¥µ¥Ý¡¼¥È¤Î¤¿¤á¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à°Í¸¤Î¥³¥ó¥Ñ¥¤¥é¤ä¥ê¥ó¥«¤Î |
| ¥Õ¥é¥°¤ò¤¤¤¸¤ë¤³¤È¤Ê¤¯ Apache ¤Î¥â¥¸¥å¡¼¥ë¤Î¥½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë |
| ¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="usage" id="usage">»ÈÍÑË¡¤Î³µÍ×</a></h2> |
| |
| <p>Apache 2.0 ¤Î DSO µ¡Ç½¤Î³µÎ¬¤òÃΤ뤳¤È¤¬¤Ç¤¤ë¤¿¤á¤Î¡¢ |
| û¤¯´Ê·é¤Ê³µÍפǤ¹:</p> |
| |
| <ol> |
| <li> |
| <em>ÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë</em> Apache ¥â¥¸¥å¡¼¥ë¡¢²¾¤Ë <code>mod_foo.c</code> |
| ¤È¤·¤Æ¡¢¤½¤ì¤ò DSO <code>mod_foo.so</code> ¤Ë¥Ó¥ë¥É¡¢¥¤¥ó¥¹¥È¡¼¥ë: |
| |
| <div class="example"><p><code> |
| $ ./configure --prefix=/path/to/install --enable-foo=shared<br /> |
| $ make install |
| </code></p></div> |
| </li> |
| |
| <li> |
| <em>¥µ¡¼¥É¥Ñ¡¼¥Æ¥£</em> Apache ¥â¥¸¥å¡¼¥ë¡¢²¾¤Ë <code>mod_foo.c</code> |
| ¤È¤·¤Æ¡¢¤½¤ì¤ò DSO <code>mod_foo.so</code> ¤Ë¥Ó¥ë¥É¡¢¥¤¥ó¥¹¥È¡¼¥ë: |
| |
| <div class="example"><p><code> |
| $ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared<br /> |
| $ make install |
| </code></p></div> |
| </li> |
| |
| <li> |
| ¶¦Í¥â¥¸¥å¡¼¥ë¤Î <em>¸å¡¹¤Î¥¤¥ó¥¹¥È¡¼¥ë</em> ¤Î¤¿¤á¤Ë |
| Apache ¤òÀßÄê: |
| |
| <div class="example"><p><code> |
| $ ./configure --enable-so<br /> |
| $ make install |
| </code></p></div> |
| </li> |
| |
| <li> |
| <em>¥µ¡¼¥É¥Ñ¡¼¥Æ¥£</em> Apache ¥â¥¸¥å¡¼¥ë¡¢²¾¤Ë <code>mod_foo.c</code> |
| ¤È¤·¤Æ¡¢¤½¤ì¤ò <a href="programs/apxs.html">apxs</a> ¤ò»È¤Ã¤Æ |
| Apache ¥½¡¼¥¹¥Ä¥ê¡¼¤Î<em>³°¤Ç</em> DSO ¤Ë¥Ó¥ë¥É¡¢¥¤¥ó¥¹¥È¡¼¥ë: |
| |
| <div class="example"><p><code> |
| $ cd /path/to/3rdparty<br /> |
| $ apxs -c mod_foo.c<br /> |
| $ apxs -i -a -n foo mod_foo.la |
| </code></p></div> |
| </li> |
| </ol> |
| |
| <p>¤É¤Î¾ì¹ç¤Ë¤ª¤¤¤Æ¤â¡¢¶¦Í¥â¥¸¥å¡¼¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¸å¤Ç¡¢ |
| <code>httpd.conf</code> ¤Ç |
| <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»È¤Ã¤Æ Apache ¤¬¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë |
| ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="background" id="background">ÇØ·Ê</a></h2> |
| |
| <p>ºÇ¶á¤Î Unix ·Ï¤Î OS ¤Ë¤Ï <em>ưŪ¶¦Í¥ª¥Ö¥¸¥§¥¯¥È</em> (DSO) |
| ¤ÎưŪ¥ê¥ó¥¯/¥í¡¼¥É¤È¤¤¤¦µ¤¤Î¤¤¤¤¿µ¡¹½¤¬ |
| ¸ºß¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¼Â¹Ô»þ¤Ë¥×¥í¥°¥é¥à¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë |
| ¥í¡¼¥É¤Ç¤¤ë¤è¤¦¤ÊÆÃÊ̤ʷÁ¼°¤Ç¥×¥í¥°¥é¥à¤ò¥Ó¥ë¥É¤¹¤ë¤³¤È¤ò |
| ²Äǽ¤Ë¤·¤Þ¤¹¡£</p> |
| |
| <p>¤³¤Î¥í¡¼¥É¤ÏÆó¤Ä¤ÎÊýË¡¤Ç¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹: ¼Â¹Ô¥×¥í¥°¥é¥à¤¬ |
| µ¯Æ°¤µ¤ì¤¿¤È¤¤Ë <code>lod.so</code> ¤È¤¤¤¦¥·¥¹¥Æ¥à¥×¥í¥°¥é¥à |
| ¤Ë¤è¤ê¼«Æ°Åª¤Ë¹Ô¤Ê¤ï¤ì¤ëÊýË¡¤È¡¢¼Â¹Ô¥×¥í¥°¥é¥àÃ椫¤é¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë |
| <code>dlopen()/dlsym()</code> ¤Ë¤è¤ë Unix ¥í¡¼¥À¤Ø¤Î |
| ¥×¥í¥°¥é¥à¥·¥¹¥Æ¥à¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»È¤Ã¤Æ¼êÆ°¤Ç¹Ô¤Ê¤¦ÊýË¡¤È¤¬ |
| ¤¢¤ê¤Þ¤¹¡£</p> |
| |
| <p>ºÇ½é¤ÎÊýË¡¤Ç¤Ï DSO ¤ÏÉáÄ̤Ï<em>¶¦Í¥é¥¤¥Ö¥é¥ê</em>¤ä <em>DSO |
| ¥é¥¤¥Ö¥é¥ê</em> ¤È¸Æ¤Ð¤ì¤Æ¤¤¤Æ¡¢DSO ¤Î̾Á°¤Ï |
| <code>libfoo.so</code> ¤ä <code>libfoo.so.1.2</code> ¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ |
| ¤³¤ì¤é¤Ï¥·¥¹¥Æ¥à¥Ç¥£¥ì¥¯¥È¥ê (Ä̾ï <code>/usr/lib</code>) ¤Ë¸ºß¤·¡¢ |
| ¼Â¹Ô¥×¥í¥°¥é¥à¤Ø¤Î¥ê¥ó¥¯¤Ï¥Ó¥ë¥É»þ¤Ë <code>-lfoo</code> ¤ò¥ê¥ó¥«¤Ë |
| »ØÄꤹ¤ë¤³¤È¤Ç³ÎΩ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¥é¥¤¥Ö¥é¥ê¤Ø¤Î»²¾È¤¬¼Â¹Ô¥×¥í¥°¥é¥à¤Î |
| ¥Õ¥¡¥¤¥ë¤Ë½ñ¤¹þ¤Þ¤ì¤Æ¡¢µ¯Æ°»þ¤Ë Unix ¤Î¥í¡¼¥À¤¬ <code>/usr/lib</code> ¤ä¡¢ |
| ¥ê¥ó¥«¤Î <code>-R</code> ¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥Ñ¥¹¡¢ |
| ´Ä¶ÊÑ¿ô <code>LD_LIBRARY_PATH</code> ¤Ë¤è¤êÀßÄꤵ¤ì¤¿¥Ñ¥¹¡¢¤ÎÃ椫¤é |
| <code>libfoo.so</code> ¤Î¾ì½ê¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤½¤ì¤«¤é¡¢ |
| ¼Â¹Ô¥×¥í¥°¥é¥àÃæ¤Î (¤Þ¤À̤²ò·è¤Î) ¥·¥ó¥Ü¥ë¤ò DSO ¤Ë¤¢¤ë¥·¥ó¥Ü¥ë¤Ç |
| ²ò·è¤·¤Þ¤¹¡£</p> |
| |
| <p>ÉáÄÌ¤Ï¼Â¹Ô¥×¥í¥°¥é¥àÃæ¤Î¥·¥ó¥Ü¥ë¤Ï DSO ¤«¤é¤Ï»²¾È¤µ¤ì¤Þ¤»¤ó |
| (DSO ¤Ï°ìÈÌŪ¤Ê¥³¡¼¥É¤Ë¤è¤ëºÆÍøÍѲÄǽ¤Ê¥é¥¤¥Ö¥é¥ê¤Ç¤¹¤Î¤Ç)¡£ |
| ¤Ç¤¹¤«¤é¡¢¤µ¤é¤Ê¤ë¥·¥ó¥Ü¥ë¤Î²ò·è¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ |
| ¥·¥ó¥Ü¥ë¤Ï Unix ¥í¡¼¥À¤Ë¤è¤ê´°Á´¤Ê²ò·è¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¤Î¤Ç¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¼«¿È¤Ï |
| ²¿¤â¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£(¼ÂºÝ¤Î¤È¤³¤í¡¢ÀÅŪ¤Ç¤Ê¤¤ÊýË¡¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë |
| ¤¹¤Ù¤Æ¤Î¼Â¹Ô¥×¥í¥°¥é¥à¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë³«»ÏÍѤΥ³¡¼¥É¤Î°ìÉô¤Ë |
| <code>ld.so</code> ¤òµ¯Æ°¤¹¤ë¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹)¡£¤è¤¯»È¤ï¤ì¤ë |
| ¥é¥¤¥Ö¥é¥ê¤ÎưŪ¥í¡¼¥É¤ÎÍøÅÀ¤ÏÌÀ¤é¤«¤Ç¤¹¡£¥é¥¤¥Ö¥é¥ê¤Î¥³¡¼¥É¤Ï |
| ¥·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥ê¤Ë <code>libc.so</code> ¤Î¤è¤¦¤Ë¤·¤Æ°ìÅÙÊݸ¤¹¤ë¤À¤±¤Ç¤è¤¯¡¢ |
| ¥×¥í¥°¥é¥à¤Î¤¿¤á¤ËɬÍפʥǥ£¥¹¥¯¤ÎÎΰè¤òÀáÌ󤹤뤳¤È¤¬¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>Æó¤Ä¤á¤ÎÊýË¡¤Ç¤Ï DSO ¤ÏÉáÄ̤Ï<em>¶¦Í¥ª¥Ö¥¸¥§¥¯¥È</em>¤ä |
| <em>DSO ¥Õ¥¡¥¤¥ë</em>¤È¸Æ¤Ð¤ì¤Æ¤¤¤Æ¡¢Ç¤°Õ¤Î³ÈÄ¥»Ò¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹ |
| (¤¿¤À¤·¡¢É¸½àŪ¤Ê̾Á°¤Ï <code>foo.so</code> ¤Ç¤¹)¡£ |
| ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ÏÄ̾ï¤Ï¥×¥í¥°¥é¥àÀìÍѤΥǥ£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¡¢ |
| ¤³¤ì¤é¤ò»È¤¦¼Â¹Ô¥×¥í¥°¥é¥à¤Ø¤Î¥ê¥ó¥¯¤Ï¼«Æ°Åª¤Ë¤Ï¤µ¤ì¤Þ¤»¤ó¡£ |
| ¤Ç¤¹¤Î¤Ç¡¢¼Â¹Ô¥×¥í¥°¥é¥à¤Ï <code>dlopen()</code> ¤ò»È¤Ã¤Æ |
| ¼Â¹Ô»þ¤Ë¼êÆ°¤Ç DSO ¤ò¥×¥í¥°¥é¥à¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ |
| ¤³¤Î»þÅÀ¤Ç¤Ï¼Â¹Ô¥×¥í¥°¥é¥à¤ËÂФ·¤Æ DSO ¤Î¥·¥ó¥Ü¥ë¤Î²ò·è¤Ï¹Ô¤Ê¤ï¤ì¤Þ¤»¤ó¡£ |
| ¤·¤«¤·¡¢¤½¤ÎÂå¤ï¤ê¤Ë Unix ¤Î¥í¡¼¥À¤¬ DSO ¤Î (¤Þ¤À̤²ò·è¤Î) ¥·¥ó¥Ü¥ë¤ò |
| ¼Â¹Ô¥×¥í¥°¥é¥à¤Ë¤è¤ê¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥·¥ó¥Ü¥ë¤È´û¤Ë¥í¡¼¥É¤µ¤ì¤¿ |
| DSO ¥é¥¤¥Ö¥é¥ê¤Ë¤è¤ê¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥·¥ó¥Ü¥ë (Æäˡ¢¤É¤³¤Ë¤Ç¤â¤¢¤ë |
| <code>libc.so</code> ¤Î¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë) ¤Ç¼«Æ°Åª¤Ë²ò·è¤·¤Þ¤¹¡£ |
| ¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢DSO ¤ÏºÇ½é¤«¤éÀÅŪ¤Ë¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤¿¤«¤Î¤è¤¦¤Ë¡¢ |
| ¼Â¹Ô¥×¥í¥°¥é¥à¤Î¥·¥ó¥Ü¥ë¤òÃΤ뤳¤È¤¬¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>ºÇ¸å¤Ë¡¢DSO ¤Î API ¤òÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á¤Ë¡¢¥×¥í¥°¥é¥à¤Ï |
| ¸å¤Ç¥Ç¥£¥¹¥Ñ¥Ã¥Á¥Æ¡¼¥Ö¥ë<em>¤Ê¤É</em>¤Ç¥·¥ó¥Ü¥ë¤ò»È¤¦¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¡¢ |
| <code>dlsym()</code> ¤ò»È¤Ã¤Æ¤¤¤¯¤Ä¤«¤Î¥·¥ó¥Ü¥ë¤ò²ò·è¤·¤Þ¤¹¡£ |
| ¤¹¤Ê¤ï¤Á: ¼Â¹Ô¥×¥í¥°¥é¥à¤ÏɬÍפʤ¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤ò¼êÆ°¤Ç²ò·è¤·¤Ê¤±¤ì¤Ð |
| ¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Îµ¡¹½¤ÎÍøÅÀ¤Ï¥×¥í¥°¥é¥à¤Î¥ª¥×¥·¥ç¥Ê¥ë¤ÊÉôʬ¤Ï |
| ɬÍפˤʤë¤Þ¤Ç¥í¡¼¥É¤¹¤ëɬÍפ¬¤Ê¤¤ (¤À¤«¤é¥á¥â¥ê¤â¾ÃÈñ¤·¤Ê¤¤) |
| ¤³¤È¤Ç¤¹¡£É¬Íפʤé¤Ð¡¢´ðËÜ¥×¥í¥°¥é¥à¤Îµ¡Ç½¤ò³ÈÄ¥¤¹¤ë¤¿¤á¤Ë |
| ¤³¤ì¤é¤ÎÉôʬ¤òưŪ¤Ë¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>¤³¤Î DSO µ¡¹½¤Ï´Êñ¤Ê¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢¾¯¤Ê¤¯¤È¤â°ì¤ÄÆñ¤·¤¤ÅÀ¤¬ |
| ¤¢¤ê¤Þ¤¹: ¥×¥í¥°¥é¥à¤ò³ÈÄ¥¤¹¤ë¤¿¤á¤Ë DSO ¤ò»È¤Ã¤Æ¤¤¤ë¤È¤¤Ë¡¢ |
| DSO ¤¬¼Â¹Ô¥×¥í¥°¥é¥à¤«¤é¥·¥ó¥Ü¥ë¤ò²ò·è¤¹¤ëÅÀ¤Ç¤¹ (ÆóÈÖÌܤÎÊýË¡)¡£ |
| ¤³¤ì¤Ï¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡£¤½¤ì¤Ï¡¢DSO ¤Î¥·¥ó¥Ü¥ë¤ò¼Â¹Ô¥×¥í¥°¥é¥à¤Î |
| ¥·¥ó¥Ü¥ë¤«¤é¡ÖµÕ²ò·è¡×¤¹¤ë¤È¤¤¤¦¤Î¤Ï¥é¥¤¥Ö¥é¥ê¤ÎÀß·× |
| (¥é¥¤¥Ö¥é¥ê¤Ï¤½¤ì¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Î¤³¤È¤Ï²¿¤â |
| ÃΤé¤Ê¤¤) ¤ËÈ¿¤·¤Æ¤¤¤Æ¡¢¤³¤Îµ¡Ç½¤Ï¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë |
| ¤¢¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢É¸½à²½¤â¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ |
| ¼ÂºÝ¤Ë¤Ï¼Â¹Ô¥×¥í¥°¥é¥à¤Î¥°¥í¡¼¥Ð¥ë¤Ê¥·¥ó¥Ü¥ë¤ÏºÆ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤Ï |
| ¤¢¤Þ¤ê¤Ê¤¯¡¢DSO ¤«¤é»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£¥ê¥ó¥«¤Ë¥°¥í¡¼¥Ð¥ë¥·¥ó¥Ü¥ë¤¹¤Ù¤Æ¤ò |
| ¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë¤µ¤»¤ëÊýË¡¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¡¢¼Â¹Ô»þ¤Ë¥×¥í¥°¥é¥à¤ò |
| ³ÈÄ¥¤¹¤ë¤¿¤á¤Ë DSO ¤ò»È¤¦¤È¤¤Î°ìÈÖ¤ÎÌäÂê¤Ç¤¹¡£</p> |
| |
| <p>¶¦Í¥é¥¤¥Ö¥é¥ê¤Î¥¢¥×¥í¡¼¥Á¤¬ÉáÄ̤ÎÊýË¡¤Ç¤¹¡£DSO µ¡¹½¤Ï¤½¤Î¤¿¤á¤Ë |
| À߷פµ¤ì¤¿¤â¤Î¤Ç¤¹¤«¤é¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤½¤ÎÊýË¡¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬ |
| Ä󶡤¹¤ë¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î¼ïÎà¤Î¥é¥¤¥Ö¥é¥ê¤Ç»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ |
| °ìÊý¡¢¥×¥í¥°¥é¥à¤Î³ÈÄ¥¤Î¤¿¤á¤Ë¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¤ò»ÈÍѤ¹¤ë¡¢¤È¤¤¤¦Êý¤Ï |
| ¤¢¤Þ¤ê»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£</p> |
| |
| <p>1998 ǯ¤Î»þÅÀ¤Ç¡¢¼Â¹Ô»þ¤Ë¼ÂºÝ¤Ëµ¡Ç½³ÈÄ¥¤Î¤¿¤á¤Ë DSO µ¡¹½¤ò»È¤Ã¤Æ¤¤¤ë |
| ¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤Ï¾¯¤·¤À¤±¤Ç¤·¤¿: Perl 5 (XS µ¡¹½¤È DnaLoader ¥â¥¸¥å¡¼¥ë |
| ¤Ë¤è¤ë¤â¤Î)¡¢Netscape ¥µ¡¼¥Ð<em>¤Ê¤É</em>¤Ç¤¹¡£Apache ¤Ï¤¹¤Ç¤Ë |
| ¥â¥¸¥å¡¼¥ë¤Î³µÇ°¤ò»È¤Ã¤Æµ¡Ç½³ÈÄ¥¤ò¤·¤Æ¤¤¤Æ¡¢ÆâÉôŪ¤Ë¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ê¥¹¥È¤Ë |
| ´ð¤Å¤¤¤¿³°Éô¥â¥¸¥å¡¼¥ë¤Î Apache ¥³¥¢µ¡Ç½¤Ø¤Î¥ê¥ó¥¯¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç¡¢ |
| ¥Ð¡¼¥¸¥ç¥ó 1.3 ¤«¤é¡¢Apache ¤â DSO µ¡¹½¤ò»È¤¦Ãç´Ö¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ |
| Apache ¤Ï¼Â¹Ô»þ¤Ë DSO ¤ò»È¤Ã¤Æ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ë¤è¤¦¤Ë¤¹¤Ç¤Ë |
| ±¿Ì¿ÉÕ¤±¤é¤ì¤Æ¤¤¤¿¤Î¤Ç¤¹¡£</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="advantages" id="advantages">ÍøÅÀ¤È·çÅÀ</a></h2> |
| |
| <p>¾åµ¤Î DSO ¤Ë´ð¤Å¤¤¤¿µ¡Ç½¤Ï°Ê²¼¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹:</p> |
| |
| <ul> |
| <li>¼ÂºÝ¤Î¥µ¡¼¥Ð¥×¥í¥»¥¹¤òÁȤßΩ¤Æ¤ë¤¿¤á¤Ë¡¢ |
| ¥Ó¥ë¥É»þ¤Ë <code>configure</code> ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦Âå¤ï¤ê¤Ë |
| ¼Â¹Ô»þ¤Ë <code>httpd.conf</code> ¤ÎÀßÄêÍÑ¥³¥Þ¥ó¥É |
| <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> |
| ¤ò»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¤Î¤Ç¡¢¥µ¡¼¥Ð¥Ñ¥Ã¥±¡¼¥¸¤Î½ÀÆðÀ¤¬¹â¤Þ¤ê¤Þ¤·¤¿¡£ |
| ¤¿¤È¤¨¤Ð¡¢°ì¤Ä¤Î Apache ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤«¤é |
| °ã¤¦¹½À®¤Î¥µ¡¼¥Ð (ɸ½àÈÇ¤È SSL ÈÇ¡¢ºÇ¾®¹½À®¤È³ÈÄ¥ÈÇ [mod_perl, PHP3] |
| <em>¤Ê¤É</em>) ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£</li> |
| |
| <li>¥¤¥ó¥¹¥È¡¼¥ë¤Î¸å¤Ç¤¢¤Ã¤Æ¤â¡¢¥µ¡¼¥Ð¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥µ¡¼¥É¥Ñ¡¼¥Æ¥£ |
| ¥â¥¸¥å¡¼¥ë¤Ç´Êñ¤Ë³ÈÄ¥¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤Ï¡¢Apache ¥³¥¢ |
| ¥Ñ¥Ã¥±¡¼¥¸¤È¡¢PHP3, mod_perl, mod_fastcgi <em>¤Ê¤É</em> ¤ÎÄɲäΠ|
| ¥Ñ¥Ã¥±¡¼¥¸¤òºîÀ®¤Ç¤¤ë¤Î¤Ç¡¢¾¯¤Ê¤¯¤È¤â¥Ù¥ó¥À¤Î¥Ñ¥Ã¥±¡¼¥¸´ÉÍý¼Ô¤Ë¤È¤Ã¤Æ |
| Â礤ÊÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£</li> |
| |
| <li>Apache ¥â¥¸¥å¡¼¥ë¤Î³«È¯¤¬´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£ |
| ¤³¤ì¤Ï DSO/<code>apxs</code> ¤ÎÁȤ߹ç¤ï¤»¤Ë¤è¤ê¡¢Apache ¥½¡¼¥¹¥Ä¥ê¡¼¤Î |
| ³°¤Çºî¶È¤Ç¤¡¢³«È¯Ãæ¤Î¥â¥¸¥å¡¼¥ë¤Î¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ò |
| ¼Â¹ÔÃæ¤Î Apache ¥µ¡¼¥Ð¤ËÁȤ߹þ¤à¤¿¤á¤Ë <code>apxs -i</code> ¤È |
| <code>apachectl restart</code> ¤ò¹Ô¤Ê¤¦¤À¤±¤ÇÎɤ¯¤Ê¤ë¤«¤é¤Ç¤¹¡£</li> |
| </ul> |
| |
| <p>DSO ¤Ë¤Ï°Ê²¼¤Î·çÅÀ¤¬¤¢¤ê¤Þ¤¹:</p> |
| |
| <ul> |
| <li>¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¥×¥í¥°¥é¥à¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë |
| ¥³¡¼¥É¤òưŪ¥í¡¼¥É¤¹¤ë¤³¤È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤ï¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢ |
| ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ¤Ï DSO µ¡¹½¤Ï»È¤¨¤Þ¤»¤ó¡£</li> |
| |
| <li>Unix ¤Î¥í¡¼¥À¤¬¥·¥ó¥Ü¥ë¤Î²ò·è¤ò¤¹¤ëɬÍפ¬¤Ç¤¤¿¤Î¤Ç¡¢ |
| ¤½¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤Ë¤è¤ê¥µ¡¼¥Ð¤Îµ¯Æ°»þ´Ö¤¬Ìó 20% ÃÙ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£</li> |
| |
| <li>°ÌÃÖÈó°Í¸¥³¡¼¥É (PIC) (ÌõÃí position independent code) ¤Ï |
| ÁêÂÐ¥¢¥É¥ì¥¹¤Î¤¿¤á¤ËÊ£»¨¤Ê¥¢¥»¥ó¥Ö¥é¤Î¥È¥ê¥Ã¥¯¤¬É¬Íפʤ³¤È¤¬¤¢¤ê¡¢ |
| ¤½¤ì¤Ïɬ¤º¤·¤âÀäÂÐ¥¢¥É¥ì¥¹¤ÈƱ¤¸¤¯¤é¤¤¤Î®ÅÙ¤¬¤Ç¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢ |
| ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ¤Ï¥µ¡¼¥Ð¤Î¼Â¹Ô®ÅÙ¤¬Ìó 5% ÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£</li> |
| |
| <li>DSO ¥â¥¸¥å¡¼¥ë¤Ï¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¾¤Î DSO ¤Ë´ð¤Å¤¤¤¿ |
| ¥é¥¤¥Ö¥é¥ê¤ËÂФ·¤Æ¥ê¥ó¥¯¤Ç¤¤ë (<code>ld -lfoo</code>) |
| ¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç (¤¿¤È¤¨¤Ð¡¢a.out ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï |
| ¤³¤Îµ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ELF ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤Ï¤¢¤ê¤Þ¤¹)¡¢ |
| ¤¹¤Ù¤Æ¤Î¼ïÎà¤Î¥â¥¸¥å¡¼¥ë¤Ë DSO µ¡¹½¤ò»È¤¨¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ |
| ¸À¤¤´¹¤¨¤ë¤È¡¢DSO ¥Õ¥¡¥¤¥ë¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¤Î |
| »È¤¨¤ë¥·¥ó¥Ü¥ë¤Ï¡¢ |
| Apache ¤Î¥³¥¢¤Î¥·¥ó¥Ü¥ë¡¢C ¥é¥¤¥Ö¥é¥ê (<code>libc</code>) ¤È |
| Apache ¥³¥¢¤¬»È¤Ã¤Æ¤¤¤ë¾¤Î¤¹¤Ù¤Æ¤ÎÀÅŪ¤Ê¥é¥¤¥Ö¥é¥ê¤ÈưŪ¥é¥¤¥Ö¥é¥ê¤Î |
| ¥·¥ó¥Ü¥ë¡¢PIC ¤Ë¤è¤ëÀÅŪ¤Ê¥é¥¤¥Ö¥é¥ê (<code>libfoo.a</code>) ¤Î |
| ¥·¥ó¥Ü¥ë¤Î¤ß¤ËÀ©¸Â¤µ¤ì¤Þ¤¹¡£¤½¤Î¾¤Î¥³¡¼¥É¤ò»È¤¦ÊýË¡¤Ï¡¢ |
| Apache ¥³¥¢¼«¿È¤¬¤¹¤Ç¤Ë¤½¤Î¥³¡¼¥É¤Ø¤Î»²¾È¤¬¤¢¤ë¤è¤¦¤Ë¤¹¤ë¤«¡¢ |
| <code>dlopen ()</code> ¤ò»È¤Ã¤Æ¥³¡¼¥É¤ò¼«Ê¬¼«¿È¤Ç¥í¡¼¥É¤¹¤ë¤«¤Î |
| ¤É¤Á¤é¤«¤·¤«¤¢¤ê¤Þ¤»¤ó¡£</li> |
| </ul> |
| |
| </div></div> |
| <div class="bottomlang"> |
| <p><span>Available Languages: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="./ja/dso.html" title="Japanese"> ja </a> | |
| <a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> |
| </div><div id="footer"> |
| <p class="apache">Copyright 1999-2004 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> |
| <p class="menu"><a href="./mod/">¥â¥¸¥å¡¼¥ë</a> | <a href="./mod/directives.html">¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">ÍѸì</a> | <a href="./sitemap.html">¥µ¥¤¥È¥Þ¥Ã¥×</a></p></div> |
| </body></html> |