Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://itpm.msu.su/manual/ko/programs/apxs.html
Äàòà èçìåíåíèÿ: Sat Feb 5 01:50:17 2005
Äàòà èíäåêñèðîâàíèÿ: Mon Oct 1 23:06:53 2012
Êîäèðîâêà: ISO8859-5
apxs - APache eXtenSion ÅÅÁÈ - Apache HTTP Server
<-
Apache > HTTP Server > Documentation > Version 2.0 > Programs

apxs - APache eXtenSion ÅÅÁÈ

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

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

apxsÄÒ ÎÖÖÔÔÅ ×ßÐÜÖëÕèÍÊÖ? Ð?Ìë ×ÑÇÞÕôÔí (HTTP) Ì-É?Ð× Ø?ÐõÈ?ÅòÐË ÔÔÖÔÐß×ßÀý ÌÃÔÅ×ßÄÒ ÅÅÁÈÐÜÄé. ÐÜ ÅÅÁÈÄÒ Ï?Ç? ÌâÍÊÏÝ ÏÐÊúÑ?Ö?ÖÔÐßÐË ÀÅÑ?Àý, mod_soÐ× LoadModule Ñ?ÍÓÎþÇÞ Í××ðÑïÏÅ ÎÖÖÔÔÅ Ì-É?ÇÞ ÐàÎþÅùÐß Ì? ÐæÄÒ ÅÏÐ?À?Ð?ÀÄÓÌ(DSO)È? ÈÈÅ÷Äé.

ÁçÇÅÌ- ÐÜÇÁ Ø?ÐõÉöÍÔÐË Ë÷Ïû×ßÇÑÈù ×ÓÇÅÖ?ÐÜ DSO ÁòÄÙÐË Ñ?Ï?×ßÀý ÎÖÖÔÔÅ httpd Í××ðÖÔÐßÐË mod_so È?ÅòÀ? ÀÀÐÜ ÔÔÖÔÐß×èÎï ×áÄé. apxs ÅÅÁÈÄÒ ÐÜ ÑÆÀ×ÐÜ ÈÈÑÇ×ßÑ?ÎÚÐÈÈù Í××ð×ßÑ? ÎÚÄÒÄé. Ñ?Ñ? ÈýÇÙÎþÈ? Í××ð×ßÏ? ÑÆÀ×ÐÜ ÈÈÑÇ×ßÄÒÑ? ÎÛÎÖÊÌ Ì? ÐæÄé

$ httpd -l

ÈåÇßÏÅ mod_so È?ÅòÐÜ Ã?ÏÝÎï ×áÄé. ÑÆÀ×ÐË ÈÈÑÇ×ßÈù apxs ÅÅÁÈÇÞ DSO È?ÅòÐË ÌÃÔÅ×ßÏ? ÎÖÖÔÔÅÌ-É?Ð× ÁòÄÙÐË ÍÁÀä Ø?Ðõ×â Ì? ÐæÄé:

$ apxs -i -a -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
cp mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
$ apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _

ÎÖÁäÈåÖ? filesÏÅÄÒ C ÌâÍÊÖÔÐß (.c) ÐÜÃ? ÏÐÊúÑ?Ö?ÖÔÐß (.o), Æ?ÐÜÊúÇ?È?È?ÐÍ (.a)ÐË Ë÷Ïû×â Ì? ÐæÄé. apxs ÅÅÁÈÄÒ Ø?ÐõÐêÈ? ÊÈÀý ÐêÅÏÐÈÇÞ C ÌâÍÊÖÔÐßÐÊ ÔÔÖÔÐß×ßÀý, ÏÐÊúÑ?Ö?ÏÝ È?ÐÍÖÔÐßÐÊ ÈÅÕ?ÏÅÈÈ Ë÷Ïû×áÄé. ÁçÇ?Ã? ÔÔÖÔÐß×á ÏÐÊúÑ?Ö?È? Ë÷Ïû×ßÇÑÈù ÅÏÐ?ÐÈÇÞ ÐàÎþÅùÐß Ì? ÐæÄÒ À?Ð?ÀÄÓÌÇÞ Ë÷Ïû×ßÁòÐ?×è ÉíÅõÍÓ ÏÐÊúÑ?Ö?È? Ð?ÔÅÅÆÈÃÔêÅõ(PIC, position independent code)ÇÞ ÔÔÖÔÐß×èÎï ×áÄé. GCCÐ× ÀöÏü -fpicÐË Ë÷Ïû×ßÈù ÅØÄé. ÄéÈ? C ÔÔÖÔÐßÇ?ÄÒ ÌÃÈýÌ-È? Ò?Àý×ßÀÕÃ? apxsÀÅ ÏÐÊúÑ?Ö?ÖÔÐßÐË ÔÔÖÔÐß×âÆ? Ë÷Ïû×ßÄÒ ÏÙÌ×ÐË Ò?Àý×߯?.

ÎÖÖÔÔÅÐ× DSO Ñ?Ï?ÏÅ Äû×á Ä? ÐêÌÌ×á ÃËÏûÐÊ mod_so É?Ì-È? Ò?Àý×ßÀÕÃ? src/modules/standard/mod_so.c ÌâÍÊÖÔÐßÐË ÐàÎþÊÑÆ?.

Ò?Àý

top

ÀÃÏô

apxs -g [ -S name=value ] -n modname

apxs -q [ -S name=value ] query ...

apxs -c [ -S name=value ] [ -o dsofile ] [ -I incdir ] [ -D name=value ] [ -L libdir ] [ -l libname ] [ -Wc,compiler-flags ] [ -Wl,linker-flags ] files ...

apxs -i [ -S name=value ] [ -n modname ] [ -a ] [ -A ] dso-file ...

apxs -e [ -S name=value ] [ -n modname ] [ -a ] [ -A ] dso-file ...

top

ÏÙÌ×

À?Õû ÏÙÌ×

-n modname
-i (install)À? -g (template generation) ÏÙÌ×ÐË Ë÷Ïû×âÆ? Ñ?Ñ? È?ÅòÈýÐË Ñ?Ñ?×áÄé. ÐÜ ÏÙÌ×ÐË Ë÷Ïû×ßÏ? È?ÅòÈýÐË Ñ?Ñ? Ñ?Ñ?×áÄé. -g ÏÙÌ×ÐË Ë÷Ïû×áÄéÈù ÐÜ ÏÙÌ×ÐË ÉíÅõÍÓ Ë÷Ïû×èÎï×ßÀý, -i ÏÙÌ×ÐË Ë÷Ïû×áÄéÈù apxs ÅÅÁÈÄÒ ÌâÍÊÃ? (ÈÆÑ?ÈÇ ÍÓÅÅÇÞ) ÖÔÐßÈýÐË ÀÅÑ?Àý ÐÜÈ?ÐË ÓïÓ?×áÄé.

Ñ?Ð× ÏÙÌ×

-q
apxsÐ× ÌÃÑ?À?ÐË ÎÛÎÖÃÍÄé. queryÏÅÄÒ ÄéÐÍÐË Ë÷Ïû×â Ì? ÐæÄé: CC, CFLAGS, CFLAGS_SHLIB, INCLUDEDIR, LD_SHLIB, LDFLAGS_SHLIB, LIBEXECDIR, LIBS_SHLIB, SBINDIR, SYSCONFDIR, TARGET.

ÌÃÑ?ÐË Ñ?Ñ? ÎÛÎÖÃÎÆ? Ë÷Ïû×áÄé.

INC=-I`apxs -q INCLUDEDIR`

ÏÉÈ? ÅùÎþ, ÎÖÖÔÔÅ C ×üÄ?ÖÔÐßÐË Ñ?Ñ? Ñ?Áé×áÄéÈù MakefileÏÅÌ- Ð?ÏÝ ÀÀÐÜ Ë÷Ïû×áÄé.

ÌÃÑ? ÏÙÌ×

-S name=value
ÐÜ ÏÙÌ×ÐÊ Ð?ÏÅÌ- ÌÃÈý×á apxs ÌÃÑ?ÐË Ê?Àö×áÄé.

ÀïÊË(template) ËÌÊ ÏÙÌ×

-g
×ßÐ?Å?ÇÊÕôÈ? nameÐË ÈÈÅùÀý (-n ÏÙÌ× Ò?Àý) ÁçÀ?ÏÅ ÖÔÐß ÅÞÀÃÈ? ÈÈÅ÷Äé: ×á ÖÔÐßÐÊ mod_name.cÆ?ÄÒ ÀïÊË È?ÅòÌâÍÊÖÔÐßÇÞ, ÐêÍÕÐ× È?ÅòÐË ÈÈÅùÆ? ÀïÊËÐÈÇÞ Ë÷Ïû×ßÀÕÃ? apxs ÁòÄÙÐË ÍÓ×ø×èÊÌÆ? Ë÷Ïû×áÄé. ÄéÈ? ÖÔÐßÐÊ ÐÜ È?ÅòÐË ÍÁÀä ÔÔÖÔÐß×ßÀý ÌÃÔÅ×ßÁòÐ?×á MakefileÐÜÄé.

DSO ÔÔÖÔÐß ÏÙÌ×

-c
ÔÔÖÔÐßÐË Ñ?ÍÓ×áÄé. ÈåÐ? filesÏÅÌ- C ÌâÍÊÖÔÐßÅù(.c)ÐË ÏÐÊúÑ?Ö?ÖÔÐß(.o)ÇÞ ÔÔÖÔÐß×ßÀý, filesÐ× Ã?ÈãÑ? ÏÐÊúÑ?Ö?ÖÔÐßÅù(.oÀ? .a)À? ÈÅÕ?×ßÏ? ÅÏÐ?À?Ð?ÀÄÓÌ dsofileÐË ÈÈÅ÷Äé. -o ÏÙÌ×ÐË Ë÷Ïû×ßÑ?ÎÚÐÈÈù filesÐ× ÓÉÉ?ÒÀ ÖÔÐßÈýÏÅÌ- ÐÜÈ?ÐË ÓïÓ?×ßÏ? ÊÈÕû mod_name.soÈ? Ë÷Ïû×áÄé.
-o dsofile
ËÌÊ×â ÅÏÐ?À?Ð?ÀÄÓÌ ÖÔÐßÈýÐË Ñ?Ñ? Ñ?Ñ?×áÄé. ÐÜÈ?ÐË Ñ?Ñ?×ßÑ?ÎÚÀý files ÈåÇßÏÅÌ- ÐÜÈ?ÐË ÓïÓ?×ßÑ? È?×ßÈù ÈÆÑ?ÈÇÐÈÇÞ mod_unknown.soÈ? ÐÜÈ?ÐÈÇÞ Ë÷Ïû×áÄé.
-D name=value
ÐÜ ÏÙÌ×ÐË ÔÔÖÔÐß ÈýÇÙÎþÇÞ Ñ?Ñ? Ð?Äî×áÄé. ÔÔÖÔÐ߯? ÐêÍÕÐ× defineÐË ÓïÀÅ×áÄé.
-I incdir
ÐÜ ÏÙÌ×ÐË ÔÔÖÔÐß ÈýÇÙÎþÇÞ Ñ?Ñ? Ð?Äî×áÄé. ÔÔÖÔÐ߯? includeÈ? Ó?ÐË Å?ÇÊÕôÈ?È? ÓïÀÅ×áÄé.
-L libdir
ÐÜ ÏÙÌ×ÐË ÈÅÔÏ ÈýÇÙÎþÇÞ Ñ?Ñ? Ð?Äî×áÄé. ÔÔÖÔÐ߯? Æ?ÐÜÊúÇ?È?È? Ó?ÐË Å?ÇÊÕôÈ?È? ÓïÀÅ×áÄé.
-l libname
ÐÜ ÏÙÌ×ÐË ÈÅÔÏ ÈýÇÙÎþÇÞ Ñ?Ñ? Ð?Äî×áÄé. ÔÔÖÔÐ߯? Ë÷Ïû×â Æ?ÐÜÊúÇ?È?È? ÓïÀÅ×áÄé.
-Wc,compiler-flags
ÐÜ ÏÙÌ×ÐÊ ÓïÀÅ ÏÙÌ× compiler-flagsÈ? ÔÔÖÔÐß ÈýÇÙÎþÇÞ Ð?Äî×áÄé. ÔÔÖÔÐßÇ? Ö?Ð?Ð× ÏÙÌ×ÐË ÓïÀÅ×âÆ? Ë÷Ïû×áÄé.
-Wl,linker-flags
ÐÜ ÏÙÌ×ÐÊ ÓïÀÅ ÏÙÌ× linker-flagsÈ? ÈÅÔÏ ÈýÇÙÎþÇÞ Ð?Äî×áÄé. ÈÅÔÏ Ö?Ð?Ð× ÏÙÌ×ÐË ÓïÀÅ×âÆ? Ë÷Ïû×áÄé.

DSO ÌÃÔÅÀ? ÌÃÑ? ÏÙÌ×

-i
ÌÃÔÅÈ? Ñ?ÍÓ×áÄé. Ï?Ç? ÅÏÐ?À?Ð?ÀÄÓÌÈ? Ì-É?Ð× modules Å?ÇÊÕôÈ?ÏÅ ÌÃÔÅ×áÄé.
-a
ÎÖÖÔÔÅ httpd.conf ÌÃÑ?ÖÔÐßÏÅ Ð?Ð×á LoadModule ÑéÐË ÓïÀÅ×ßÀÕÃ? ÐÜÉÜ ÐæÄéÈù ØÀÌÊØ-×ßÏ? È?ÅòÐË Ë÷Ïû×ßÅÅÇß ÈÈÅ÷Äé.
-A
-aÏÝ ÊåÍÑ×ßÑ?ÈÈ, LoadModule Ñ?ÍÓÎþ ÎåÏÅ ÏüÉÀÑ?Ðê(#)È? ÊéÐÞÄé. Ñÿ, ×?Ð÷ÄÒ Ë÷Ïû×ßÑ?ÎÚÑ?ÈÈ Ã?ÑïÏÅ Ë÷Ïû×â Ì? ÐæÅÅÇß È?ÅòÐË ÑèÊå×áÄé.
-e
ÖýÑÐË Ñ?ÍÓ×áÄé. -a Ø?ÐÊ -A ÏÙÌ×À? ÀÀÐÜ Ë÷Ïû×â Ì? ÐæÐÈÈ÷, -i ÈýÇÙÀ? ÊåÍÑ×ßÑ?ÈÈ È?ÅòÐË ÌÃÔÅ×ßÑ?ÎÚÀý ÎÖÖÔÔÅ httpd.conf ÌÃÑ?ÖÔÐßÈÈ ÖýÑ×áÄé.
top

ÏÉÑ?

ÎÖÖÔÔÅÌ-É?Ð× ÁòÄÙÐË Ø?Ðõ×ßÄÒ mod_foo.cÆ?ÄÒ ÎÖÖÔÔÅ È?ÅòÐÜ ÐæÄéÀý ÀÅÑ?×ßÐê. ÈåÐ? ÄéÐÍ ÈýÇÙÎþÈ? Ë÷Ïû×ßÏ? C ÌâÍÊÈ? ÎÖÖÔÔÅ Ì-É?ÀÅ ÐàÎþÅùÐß À?Ð?ÀÄÓÌÇÞ ÔÔÖÔÐß×áÄé:

$ apxs -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
$ _

ÁçÈ?Àý ÐÜ À?Ð?ÀÄÓÌÈ? ÐàÎþÅùÐÜÄÒ LoadModule Ñ?ÍÓÎþÈ? ÎÖÖÔÔÅ ÌÃÑ?ÏÅ ÓïÀÅ×áÄé. apxsÄÒ ÐêÅÏÐÈÇÞ À?Ð?ÀÄÓÌÈ? "modules" Å?ÇÊÕôÈ?ÏÅ ÌÃÔÅ×ßÀý httpd.conf ÖÔÐßÐË ÎÛÈÒÀä Ì?Ñ?×ßÏ? À?ÄìØ? ÐëÎ?ÐË ÈÆÔ?Äé. ÄéÐÍ ÀÀÐÜ Í××ð×áÄé:

$ apxs -i -a mod_foo.c
cp mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
$ _

ÁçÇ?Èù ÄéÐÍÀ? ÀÀÐÊ ÑéÐË

LoadModule foo_module modules/mod_foo.so

ÌÃÑ?ÖÔÐßÏÅ Î?ÄéÈù ÓïÀÅ×áÄé. ÐÜ ÌÃÑ?ÐË ÁòÊËÐ?ÐÈÇÞ Ë÷Ïû×ßÑ? ÎÚÄÒÄéÈù -A ÏÙÌ×ÐË Ë÷Ïû×áÄé. Ñÿ

$ apxs -i -A mod_foo.c

apxsÈ? ÍÁÀä Ë÷Ïû×ßÇÑÀý ÄéÐÍÀ? ÀÀÐÜ ÎÖÖÔÔÅ È?Åò ÀïÊËÀ? MakefileÐË ÈÈÅù Ì? ÐæÄé:

$ apxs -g -n foo
Creating [DIR] foo
Creating [FILE] foo/Makefile
Creating [FILE] foo/mod_foo.c
$ _

ÁçÇÁØÔ ÉéÇÞ ÀïÊË È?ÅòÐË À?Ð?ÀÄÓÌÇÞ ÔÔÖÔÐß×ßÏ? ÎÖÖÔÔÅ Ì-É?ÀÅ ÐàÅÅÇß×áÄé:

$ cd foo
$ make all reload
apxs -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
apxs -i -a -n "foo" mod_foo.so
cp mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _

ÍÙÑ?Îþ ÎÖÖÔÔÅ ÌâÍÊ ÉëÏÅÌ- apxsÈ? Ë÷Ïû×ßÏ? PHP3ÏÝ ÀÀÐÜ ÊÉÐò×á È?ÅòÐË ÔÔÖÔÐß×â Ì? ÐæÄé:

$ cd php3
$ ./configure --with-shared-apache=../apache-1.3
$ apxs -c -o libphp3.so mod_php3.c libmodphp3-so.a
gcc -fpic -DSHARED_MODULE -I/tmp/apache/include -c mod_php3.c
ld -Bshareable -o libphp3.so mod_php3.o libmodphp3-so.a
$ _

apxsÄÒ ÐêÅÏÐÈÇÞ C ÌâÍÊÖÔÐßÀ? ÏÐÊúÑ?Ö?ÖÔÐßÐË ÁÈÊÀ×áÄé. C ÌâÍÊÖÔÐßÈÈ ÔÔÖÔÐß×ßÀý Ã?ÈãÑ? ÏÐÊúÑ?Ö?ÖÔÐßÐÊ ÈÅÕ?×âÆ? Ë÷Ïû×áÄé.

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