[PHP-users 13043] Re: PHP インストールについて
Masashi Ohba
php-users@php.gr.jp
Wed, 05 Feb 2003 15:17:42 +0900
大場です。
#結局、apacheから入れなおす必要があるだけの話なのでは?
shimovn@yahoo.co.jp wrote;
>要があります」と書いてありました。実際apache内にはmod_so.c
>が存在していません。
というか、手もとのマシンで
./configure \
--datadir=/usr/local/apache \
--localstatedir=/usr/local/apache \
--with-perl=/usr/local/bin/perl \
--enable-module=unique_id \
--enable-module=mime_magic \
--enable-module=rewrite \
--enable-module=speling \
--enable-module=log_agent \
--enable-module=log_referer \
--enable-module=userdir \
--enable-module=so \
のような感じでコンパイルしたApache1.2.27の場合
/usr/local/apache/libexecはこんな感じ
(他にも色々入ってるけど)
-rw-r--r-- 1 root wheel 7518 Oct 4 10:03 httpd.exp
-rw-r-xr-x 1 root wheel 101908 Apr 12 2002 libdav.so
-rwxr-xr-x 1 root wheel 196340 Dec 4 19:09 libperl.so
-rwxr-xr-x 1 root wheel 3360741 Jan 9 14:25 libphp4.so
-rwxr-xr-x 1 root wheel 9745 Oct 4 10:03 mod_access.so
-rwxr-xr-x 1 root wheel 7867 Oct 4 10:03 mod_actions.so
-rwxr-xr-x 1 root wheel 11038 Oct 4 10:03 mod_alias.so
-rwxr-xr-x 1 root wheel 6080 Oct 4 10:03 mod_asis.so
-rwxr-xr-x 1 root wheel 11460 Oct 4 10:03 mod_auth.so
-rwxr-xr-x 1 root wheel 29291 Oct 4 10:03 mod_autoindex.so
-rwxr-xr-x 1 root wheel 14929 Oct 4 10:03 mod_cgi.so
-rwxr-xr-x 1 root wheel 7355 Oct 4 10:03 mod_dir.so
-rw-r-xr-x 1 root wheel 9764 Apr 12 2002 mod_encoding.so
-rwxr-xr-x 1 root wheel 7222 Oct 4 10:03 mod_env.so
-rw-r-xr-x 1 root wheel 69536 Nov 19 2001 mod_gzip.so
-rwxr-xr-x 1 root wheel 16940 Oct 4 10:03 mod_imap.so
-rwxr-xr-x 1 root wheel 38380 Oct 4 10:03 mod_include.so
-rw-r-xr-x 1 root wheel 90436 May 20 2001 mod_jk.so
-rwxr-xr-x 1 root wheel 17539 Oct 4 10:03 mod_log_config.so
-rwxr-xr-x 1 root wheel 15728 Oct 4 10:03 mod_mime.so
-rwxr-xr-x 1 root wheel 29817 Oct 4 10:03 mod_negotiation.so
-rwxr-xr-x 1 root wheel 59828 Oct 4 10:03 mod_rewrite.so
-rwxr-xr-x 1 root wheel 9662 Oct 4 10:03 mod_setenvif.so
-rwxr-xr-x 1 root wheel 19426 Oct 4 10:03 mod_status.so
-rwxr-xr-x 1 root wheel 8167 Oct 4 10:03 mod_userdir.so
で、「mod_so.c」はこっちでも「存在していません」
それで、「mod_so.c」がどこに出てくるかと言うと
> ./httpd -l
とすると、httpd本体に何が組みこまれてるかが分かって
Compiled-in modules:
http_core.c
mod_so.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec
となります。
これの結果は人それぞれ異なるはずですが
私がコンパイルしたこのapacheはhttpd本体を小さくするのと
モジュール使用不使用を後で制御できるようにするため
mod_so以外は、httpdに「組み込まないように」コンパイル
した状態です。
つまり、*.soを後付け(DSO)で使うためには
「httpdの中にmod_so.c組みこまれた状態」
のapacheが必要ってことです。
こがよういちろうさんの
「Apache HTTPサーバの構築」という本には
ソースの中のConfiguration.apaciで
AddModule modules/standard/mod_so.o
で組みこむ必要があると書いてます
素直に考えても、これを後で組みこむには
「mod_soを使うためには組みこまれたmod_soが必要」
という矛盾が起きる、というのがわかりますけど
------------------------------------------------------------
大場正志(Masashi Ohba)
E-Mail ohba@intelight.co.jp
(株) インテライト
http://www.intelight.co.jp
------------------------------------------------------------