[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
------------------------------------------------------------