Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://www.arcetri.astro.it/manual/ko/dso.html
Äàòà èçìåíåíèÿ: Mon Jan 21 19:44:30 2013
Äàòà èíäåêñèðîâàíèÿ: Thu Feb 27 23:31:09 2014
Êîäèðîâêà: ISO8859-5

Ïîèñêîâûå ñëîâà: ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï
ÅÏÐ?À?Ð?ÀÄÓÌ (DSO) Ñ?<b style="color:black;background-color:#66ffff">Ï</b>? - Apache HTTP Server
<-
Apache > HTTP Server > Documentation > Version 2.2

ÅÏÐ?À?Ð?ÀÄÓÌ (DSO) Ñ?Ï?

ÀÅÄÙ×á Î?Îþ:  en  |  ja  |  ko  |  tr 

ÐÜ É?Ì-ÄÒ ÓæÍÕÖ× É?Ï?ÐÜ ÎÖÄåÄßÄé. ÓæÁéÏÅ Ê?ÀöÅØ ÃËÏûÐÊ ÏÅÎþ É?Ì-È? Ò?Àý×ßÌÌÏô.

ÎÖÖÔÔÅ Ð?Ì-É?ÄÒ À?È?ÐêÀÅ È?ÅòÅùÐË ÌÁÕÓ×ßÏ? Ì-É?ÏÅ Ö?×ä×â ÁòÄÙÐË ÀñÑ?×â Ì? ÐæÄÒ È?ÅòØ-ÅØ ×ÑÇÞÁçÇ?ÐÜÄé. Ì-É?È? ÔÔÖÔ×âÆ? httpd Í××ðÖÔÐßÏÅ Ñ?Ð?ÐÈÇÞ È?ÅòÐË ÔÔÖÔÐß×â Ì? ÐæÄé. ÎÖÄßÈù È?ÅòÐË httpd Í××ðÖÔÐßÀ? ÊàÈ?×ßÏ? ÅÏÐ?À?Ð?ÀÄÓÌ(Dynamic Shared Objects, DSO)ÇÞ ÔÔÖÔÐß×â Ì? ÐæÄé. DSO È?ÅòÐÊ Ì-É?È? ÔÔÖÔÐß×âÆ? ÔÔÖÔÐß×ßÀÕÃ?, Apache Extension Tool (apxs)ÐË Ë÷Ïû×ßÏ? Ã?ÑïÏÅ ÔÔÖÔÐß×ßÏ? ÓïÀÅ×â Ì? ÐæÄé.

ÐÜ É?Ì-ÄÒ DSO È?Åò Ë÷ÏûÉÀ? ÉøÀö ÐÜÇàÐË ÌÃÈý×áÄé.

top

ÁÈ×?

ÎÖÖÔÔÅ ×éÍÙÏÅ Ñ?Ð?ÐÈÇÞ ÔÔÖÔÐß×èÎï×â mod_so.cÆ?ÄÒ È?ÅòÐÊ ÎÖÖÔÔÅ È?ÅòÐË ÐàÎþÅùÐÜÁòÐ?×á DSOÈ? Ñ?Ï?×áÄé. ÐÜ È?ÅòÐÊ coreÈ? Ñ?Ïì×ßÀý DSOÀÅ ÅÙ Ì? Î?ÄÒ Ð?Ðß×á È?ÅòÐÜÄé. Í×Ñ?ÇÞ ÄéÈ? È?Å÷ ÎÖÖÔÔÅ È?ÅòÐÊ ÌÃÔÅ É?Ì-ÏÅÌ- ÌÃÈý×á configureÐ× --enable-module=shared ÏÙÌ×ÐË Ë÷Ïû×ßÏ? DSOÇÞ ÔÔÖÔÐß×â Ì? ÐæÄé. È?ÅòÐË mod_foo.soÏÝ ÀÀÐÜ DSOÇÞ ÔÔÖÔÐß×áØÔ httpd.conf ÖÔÐßÏÅ mod_soÐ× LoadModule ÈýÇÙÎþÈ? Ë÷Ïû×ßÏ? Ì-É? ÍÓÐëÍÓ Ø?ÐÊ Ð÷ÍÓÐëÍÓ Áç È?ÅòÐË ÐàÎþÅùÐß Ì? ÐæÄé.

ÎÖÖÔÔÅ È?Åò(Ö?Ø? Ñ?ËÿÐêÀÅ ÈÈÅ÷ È?Åò)ÇÞ Ë÷Ïû×â DSO ÖÔÐßÐË ÍÁÀä ÈÈÅùÁòÐ?×è apxs (APache eXtenSion)Æ?ÄÒ Ë?ÇÞÏþ Ñ?Ï? ×ÑÇÞÁçÇ?ÐÜ ÐæÄé. ÐÜ ×ÑÇÞÁçÇ?ÐÊ ÎÖÖÔÔÅ ÌâÍÊ Ö?È? ÉëÏÅÌ- DSOÇÞ Ë÷Ïû×â È?ÅòÐË ÔÔÖÔÐß×âÆ? Ë÷Ïû×áÄé. ÀÃÃôÐÊ ÍÁÄé. ÎÖÖÔÔÅÈ? ÌÃÔÅ×âÆ? configureÏÝ make installÐÜ ÎÖÖÔÔÅ C ×üÄ?ÖÔÐßÐË ÌÃÔÅ×ßÀý, DSO ÖÔÐßÐË ÔÔÖÔÐß×ßÁòÐ?×á ×ÓÇÅÖ? Ö?Ð?Ð× ÔÔÖÔÐßÇ? ÏÙÌ×À? ÈÅÔÏ ÏÙÌ×ÐË apxs ×ÑÇÞÁçÇ?ÏÅ ÁòÇß×áÄé. ÁçÇÅÌ- apxsÈ? Ë÷Ïû×ßÄÒ Ë÷ÏûÐêÄÒ ÎÖÖÔÔÅ ÉøÖ?ÊË ÌâÍÊ Ö?È?Î?ÐÜ, Æ× DSO Ñ?Ï?ÐË Ð?×á ×ÓÇÅÖ? Ö?Ð?Ð× ÔÔÖÔÐßÇ? ÏÙÌ×ÏÝ ÈÅÔÏ ÏÙÌ×ÏÅ ÍÕÀöÐË ÎÂÑ?ÎÚÀý ÐêÍÕÐ× ÎÖÖÔÔÅ È?Åò ÌâÍÊÈ? ÔÔÖÔÐß×â Ì? ÐæÄé.

top

Ë÷ÏûÉ ÏôÎð

Apache 2.2Ð× DSO ÁòÄÙÏÅ Äû×á Ò?Àý À?Ç?×á ÏôÎðÐÜÄé:

  1. ÉøÖ?ÊËÏÅ ÐæÄÒ ÎÖÖÔÔÅ È?ÅòÐË ÔÔÖÔÐß×ßÀý ÌÃÔÅ×ßÄÒ ÀöÏü. ÏÉÈ? ÅùÎþ mod_foo.cÈ? DSO mod_foo.soÇÞ:

    $ ./configure --prefix=/path/to/install --enable-foo=shared
    $ make install

  2. Ñ?ËÿÐêÀÅ ÈÈÅ÷ ÎÖÖÔÔÅ È?ÅòÐË ÔÔÖÔÐß×ßÀý ÌÃÔÅ×ßÄÒ ÀöÏü. ÏÉÈ? ÅùÎþ mod_foo.cÈ? DSO mod_foo.soÇÞ:

    $ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared
    $ make install

  3. À?Ð? È?ÅòÐË Ã?ÑïÏÅ Ë÷Ïû×ßÁòÐ?×è ÎÖÖÔÔÅÈ? ÁÈÌÊ×ßÄÒ ÀöÏü:

    $ ./configure --enable-so
    $ make install

  4. Ñ?ËÿÐêÀÅ ÈÈÅ÷ ÎÖÖÔÔÅ È?ÅòÐË ÔÔÖÔÐß×ßÀý ÌÃÔÅ×ßÄÒ ÀöÏü. apxsÈ? Ë÷Ïû×ßÏ? ÎÖÖÔÔÅ ÌâÍÊ Ö?È? ÉëÏÅÌ- mod_foo.cÈ? DSO mod_foo.soÇÞ:

    $ cd /path/to/3rdparty
    $ apxs -c mod_foo.c
    $ apxs -i -a -n foo mod_foo.la

È?Å÷ ÀöÏü ÐßÄì À?Ð? È?ÅòÐÜ ÔÔÖÔÐßÅ×Èù, httpd.confÏÅ LoadModule Ñ?ÍÓÎþÈ? Ë÷Ïû×ßÏ? ÎÖÖÔÔÅÀÅ Áç È?ÅòÐË ÐàÎþÅùÐÜÀä ÈÈÅ÷Äé.

top

ÉøÀöÑ?ÍÔ

×?ÄûÐ?ÐÞ Ð?ÄàÍÊÇ?ÏÅÄÒ ÅÏÐ?À?Ð?ÀÄÓÌ (DSO)Ð× ÅÏÐ? ÈÅÕÇ/ÇÞÅ?(dynamic linking/loading)ÐÜÆ?Àý ×ßÏ?, Ö?ÊÀ×á ×?ÍÔÐ× Í××ðÔêÅõ ÑÆÀ?ÐË ÈÈÅùÎþ Í××ðÑïÐÞ Í××ð×ÑÇÞÁçÇ?Ð× ÑæÌâÀ?À?ÏÅ ÐàÎþÅùÐÜÄÒ ÈêÑ? ÁòÄÙÐÜ ÐæÄé.

ÊÈÕû ÅÞÀÅÑ? ÉöÉÐÈÇÞ ÐàÎþÅùÐß Ì? ÐæÄé. ×ßÃ?ÄÒ Í××ð×ÑÇÞÁçÇ?ÐÜ ÍÓÐë×âÆ? ld.soÆ?ÄÒ ÍÓÍÊÕë ×ÑÇÞÁçÇ?ÐÜ ÐêÅÏÐÈÇÞ ÐàÎþÅùÐÜÄÒ ÀöÏüÀý, ÄéÈ? ×ßÃ?ÄÒ Í××ðÑïÐÞ ×ÑÇÞÁçÇ?ÐÜ dlopen()/dlsym() ÍÓÍÊÕëØ?ÓòÇÞ Ð?ÄàÍÊ ÇÞÄ?(loader)Ð× ÍÓÍÊÕë ÐÞÕÝÖôÐÜÍÊÐË Ë÷Ïû×ßÏ? Ñ?Ñ? ÐàÎþÅùÐÜÄÒ ÀöÏüÄé.

ÓÉÉ?ÒÀ ÀöÏü DSOÈ? ÊÈÕû À?Ð?Æ?ÐÜÊúÇ?È?(shared libraries) Ø?ÐÊ DSO Æ?ÐÜÊúÇ?È?Æ?Àý ÊÞÈ?È÷, ÖÔÐßÐÊ libfoo.soÃ? libfoo.so.1.2 ÀÀÐÊ ÐÜÈ?ÐË ÀÅÑ?Äé. ÐÜÅùÐÊ ÍÓÍÊÕë Å?ÇÊÕôÈ?(ÊÈÕû /usr/lib)ÏÅ ÐæÀý, ÔÔÖÔÐßÍÓ ÈÅÔÏ ÈýÇÙÎþÏÅ -lfooÈ? ÑæÎþ Í××ðÖÔÐßÀ? Ï?Àñ×áÄé. ÐÜÇÈÀä Ñ?Ñ? ÍñÑè Æ?ÐÜÊúÇ?È?ÄÒ Í××ðÖÔÐßÏÅ Ò?ÑÆÅ×Ï?Ì-, ×ÑÇÞÁçÇ?ÐÜ ÍÓÐë×âÆ? ÈÅÔÏ ÏÙÌ× -RÇÞ Ñ?Ñ? Ñ?Ñ?×á ÀöÇÞ, Ø?ÀöÊ?Ì? LD_LIBRARY_PATHÇÞ Ñ?Ñ?×á ÀöÇÞ Ø?ÐÊ /usr/libÏÅÌ- Ð?ÄàÍÊ ÇÞÄ?ÀÅ libfoo.soÈ? Ó?ÐË Ì? ÐæÄé. ÁçÇ?Èù Í××ð×ÑÇÞÁçÇ?Ð× (ÎÖÑ? È?Ó?ÐÊ(unresolved)) ÍÙÊÌ(symbol)ÐË DSOÏÅÌ- Ó?ÀäÅØÄé.

DSOÄÒ ÊÈÕû Í××ð×ÑÇÞÁçÇ?Ð× ÍÙÊÌÐË Ó?Ñ?ÎÚÁò Æ?É?ÏÅ (DSOÀÅ Ð÷Ë÷ÏûÀÅÄÙ×á ÐßÉíÐ?ÐÞ ÔêÅõ Æ?ÐÜÊúÇ?È?ÐÜÉ×ÇÞ) Ó?ÁòÄÒ Ï?ÁòÌ- ÃÅÃ-Äé. Ð?ÄàÍÊ ÇÞÄ?ÀÅ ÍÙÊÌ Ó?ÁòÈ? ÏßÐ?Ø? ÄóÄ÷×ßÉ×ÇÞ Í××ð×ÑÇÞÁçÇ?ÐÜ Ñ?Ñ? DSOÏÅÌ- ÍÙÊÌÐË Ó?ÐË ×ÚÏôÀÅ Î?Äé. (Ë÷Í× ld.soÈ? ÊÞÈ?ÄÒ ÔêÅõÄÒ Ñ?Ð?ÐÜ ÎÖÄá È?Å÷ Í××ð×ÑÇÞÁçÇ?ÏÅ ÈÅÕ?Å×ÄÒ Í××ðÍÓ ÍÓÐëÔêÅõÐ× ÐßÊÞÄé.) À?ÕûÅØ Æ?ÐÜÊúÇ?È? ÔêÅõÈ? ÅÏÐ?ÐÈÇÞ ÐàÎþÅùÐÜÄÒ ÐõÑÅÐÊ ÈýØ?×ßÄé. Æ?ÐÜÊúÇ?È? ÔêÅõÀÅ È?Å÷ ×ÑÇÞÁçÇ?ÏÅ ÑïÊÉ×èÌ- Ð?ÐõÅ×ÄÒ ÄûÍÕ libc.soÏÝ ÀÀÐÊ ÍÓÍÊÕë Æ?ÐÜÊúÇ?È?ÏÅ ×áÉ?ÈÈ Ð?ÐõÅ×Áò Æ?É?ÏÅ Å?ÍÊÕ? À?À?ÐÜ ÐÎðÅØÄé.

ÅÞÉ?ÒÀ ÀöÏü DSOÈ? ÊÈÕû À?Ð?ÀÄÓÌ(shared objects) Ø?ÐÊ DSO ÖÔÐßÐÜÆ?Àý ÊÞÈ?Àý, (ÁäÔ?Ë? ÐÜÈ?ÐÊ foo.soÐÜÑ?ÈÈ) ÖÔÐßÐ× Ø?ÐõÐêÄÒ ÐêÐ?ÇãÄé. ÐÜ ÖÔÐßÅùÐÊ ÊÈÕû ×ÑÇÞÁçÇ? ÐêÓÌ Å?ÇÊÕôÈ?ÏÅ Ð?ÔÅ×ßÀý Í××ð×ÑÇÞÁçÇ?ÏÅ ÐêÅÏÐÈÇÞ Ï?ÀñÅ×Ñ? ÎÚÄÒÄé. ÄûÍÕ Í××ð×ÑÇÞÁçÇ?ÐÊ Í××ðÍÓ dlopen()ÐË Ë÷Ïû×ßÏ? DSOÈ? ÑæÌâÀ?À?ÏÅ Ñ?Ñ? ÐàÎþÅùÏ?Îï ×áÄé. ÐÜÆ? Í××ð×ÑÇÞÁçÇ?ÐÊ DSOÏÅÌ- ÍÙÊÌÐË Ó?Ñ? ÎÚÄÒÄé. ÄûÍÕ ÎåÏÅÌ- ÊË Ð?ÄàÍÊ ÇÞÄ?ÄÒ ÐêÅÏÐÈÇÞ Í××ðÖÔÐßÀ? Í××ðÖÔÐßÐÜ ÐÜÉÜ ÐàÎþÅùÐÞ DSO Æ?ÐÜÊúÇ?È?(Ö?Ø? ×çË? ÑÈÐ÷×ßÄÒ libc.soÐ× È?Å÷ ÍÙÊÌ)ÏÅÌ- DSOÐ× (ÎÖÑ? È?Ó?ÐÊ) ÍÙÊÌÐË Ó?ÄÒÄé. ÁçÇÅÌ- DSOÄÒ ÈÆÔÅ ÓÃÐÍÊÞÕÝ Í××ð×ÑÇÞÁçÇ?ÏÅ Ñ?Ð?ÐÈÇÞ ÈÅÕ?ÅØÀÝÀ? ÀÀÐÜ Í××ðÖÔÐßÐ× ÍÙÊÌÐË ÎÛÀäÅØÄé.

DSOÐ× APIÈ? ÐÜÏû×ßÁòÐ?×èÌ- ÈÆÑ?ÈÇÐÈÇÞ Í××ð×ÑÇÞÁçÇ?ÐÊ dlsym()ÐÈÇÞ DSOÏÅÌ- Ö?Ñ? ÍÙÊÌÐË Ó?ÎÖÌ-, ÎåÐÈÇÞ Ë÷Ïû×ßÁòÐ?×è Å?ÍÊÖàÔÅ(dispatch) ×? ÅþÏÅ Ð?Ðõ×áÄé. ÄéÈ? ÈËÇÞ Í××ð×ÑÇÞÁçÇ?ÐÊ Ë÷Ïû×â È?Å÷ Í×ÊÌÐË Ñ?Ñ? Ó?ÎÖÎï×áÄé. ÐÜÇÁ ÁÈÑÆÐ× ÐõÑÅÐÊ ×ÑÇÞÁçÇ?Ð× ÐßÊÞÈ? ×ÑÇÞÁçÇ?ÐÜ ×ÚÏô×âÆ?ÁþÑ? ÐàÎþÅùÐÜÑ? ÎÚÎÖÅÅ (ÁçÇÅÌ- ÈîÈ?È?È? ÃÆÊå×ßÑ? ÎÚÀä) ÅØÄéÄÒ ÑÅÐÜÄé. ÁòÊË ×ÑÇÞÁçÇ?Ð× ÁòÄÙÐË Ø?Ðõ×ßÁòÐ?×è ×ÚÏô×á ÀöÏü ÐÜ ÊÞÊàÐË ÅÏÐ?ÐÈÇÞ ÐàÎþÅùÐß Ì? ÐæÄé.

ÐÜÇÁ DSO ÁÈÑÆÀÅ ÐêÏ?ÍÊÇÄÀä ÊÈÐÜÑ?ÈÈ, ÓæÌâ×á ÎþÇÑÏþ ÑÅÐÜ ×áÀÅÑ?ÐæÄé. ×ÑÇÞÁçÇ?ÐË Ø?Ðõ×ßÁòÐ?×è DSOÈ? Ë÷Ïû×âÆ? DSOÀÅ Í××ð×ÑÇÞÁçÇ?Ð× ÍÙÊÌÐË Ó?ÄÒ ÐßÐÜÄé. Ïæ? DSOÀÅ Í××ð×ÑÇÞÁçÇ?Ð× ÍÙÊÌÐË "Ï?ÐÈÇÞ Ó?ÄÒ ÀÝ"ÐÊ (Æ?ÐÜÊúÇ?È?ÄÒ ÐêÍÕÐË Ë÷Ïû×ßÄÒ ×ÑÇÞÁçÇ?ÏÅ Äû×è È?È?ÄéÄÒ) Æ?ÐÜÊúÇ?È? ÌÃÀøÏÅ Éí×ßÈ÷, È?Å÷ ×ÓÇÅÖ?ÏÅÌ- Ñ?Ï?Å×Ñ?ÎÚÀý ×?ÑèØ-Å×Ñ?ÅÅ ÎÚÎâÁò Æ?É?ÐÜÄé. Í×Ñ?ÇÞ Í××ðÖÔÐßÐ× Ð?Ï?ÍÙÊÌ(global symbol)ÐÊ ÊÈÕû ÐÝÍÊÖ?Ö?(export)Å×Ñ? ÎÚÁòÆ?É?ÏÅ DSOÀÅ Ë÷Ïû×â Ì? Î?Äé. DSOÈ? Ë÷Ïû×ßÏ? Í××ðÑï ×ÑÇÞÁçÇ?ÐË Ø?Ðõ×ßÇÑÈù ÈÅÔÏÏÅÀä È?Å÷ Ð?Ï?ÍÙÊÌÐË ÐÝÍÊÖ?Ö?×ßÅÅÇß À-Ñ?×ßÄÒ ÀÝÐÜ ÑæÅØ ×èÀñÓ?ÐÜÄé.

À?Ð?Æ?ÐÜÊúÇ?È?ÄÒ DSO ÉöÍÔÐ× ÌÃÀøÏ?Ô?ÄûÇÞ Ð?×?Ð?ÐÜÁòÆ?É?ÏÅ ÏþÏÅÓÌÑ?ÀÅ Ñ?À?×ßÄÒ ÀÕÐ× È?Å÷ ÑÎÇ?Ð× Æ?ÐÜÊúÇ?È?ÀÅ Ë÷Ïû×áÄé. ÉíÄûÇÞ ÈÉÐÊ ×ÑÇÞÁçÇ?ÐÊ ×ÑÇÞÁçÇ?ÐË Ø?Ðõ×ßÁòÐ?×è À?Ð?ÀÄÓÌÈ? Ë÷Ïû×ßÑ? ÎÚÄÒÄé.

1998Ãò Í××ðÑï Í×Ñ?ÇÞ ÁòÄÙÐË Ø?Ðõ×ßÁòÐ?×è DSO ÁÈÑÆÈ? Ë÷Ïû×á Ìâ×ÑÖ?Ï?Îþ ÖàÕÀÑ?ÄÒ (XS ÁÈÑÆÏÝ DynaLoader È?ÅòÐË Ë÷Ïû×á) Perl 5, Netscape Server ÅþÐÈÇÞ ÅõÉÀÎ?Äé. ÎÖÖÔÔÅÄÒ ÐÜÉÜ ÁòÄÙÐË Ø?Ðõ×ßÁòÐ?×è È?Åò ÀÃÃôÐË Ë÷Ïû×ïÀý ÏìÊÞ È?ÅòÐË ÎÖÖÔÔÅ ×éÍÙÁòÄÙÏÅ Ï?Àñ×ßÁòÐ?×è ÃËÊÞÐ?ÐÈÇÞ Å?ÍÊÖàÔÅÈåÇßÐË ÐÜÏû×á Ñ?ÁéÉöÉÐË Ë÷Ïû×ïÁòÆ?É?ÏÅ 1.3 É?Ð?ÊÞÕÝ ÐÜ ÄûÏ-ÏÅ ×åÇ?×ïÄé. ÁçÇÅÌ- ÎÖÖÔÔÅÄÒ Í××ðÑï È?ÅòÐË ÐàÎþÅùÐÜÄÒÅ? DSOÈ? Ë÷Ïû×ßÅÅÇß ÏþÈýÑ?Ï?ÑÃÄé.

top

ÐõÄìÑÅ

ÎåÏÅÌ- ÈË×á DSOÈ? Ë÷Ïû×ßÈù ÄéÐÍÀ? ÀÀÐÊ ÐõÑÅÐÜ ÐæÄé:

DSOÄÒ ÄéÐÍÀ? ÀÀÐÊ ÄìÑÅÐÜ ÐæÄé:

ÀÅÄÙ×á Î?Îþ:  en  |  ja  |  ko  |  tr 

top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.