質問: phpのインストールについて redhat7.3、apache1.3.33です。 php4.3.10をソースからインストールしました。 #cd /usr/src #tar -zxvf php-4.x.x.tar.gz #cd php-4.x.x #./configure # make # make install httpd.confに下の2行を追加 loadmodule php4_module modules/libphp4.so addtype application/x-httpd-php .php しかし、どうしてもphpが動作しません。 /usr/local/modules/をみてもlibphp4.soがありません。 インストールしたphpはどこにインストールされているのでしょうか?
回答: apache 1.3.33、php 4.3.10のソースをダウンロードして確認してみました。 手元にあるunixな環境がfreebsdなのでそこで、現状動作しているapache 2.xに影響がないようにインストール先を指定(--prefix=/tmp/root)して確認してみました。 1. apacheインストール # tar xvzof apache_1.3.33.tar.gz # cd apache_1.3.33 # ./configure --enable-module=so --prefix=/tmp/root ← dso対応 # make ; make install # /tmp/root/bin/httpd -l compiled-in modules: http_core.c <省略> mod_so.c <以下、省略> 2. phpインストール # bzip2 -d php-4.3.10.tar.bz2 # tar xvof php-4.3.10.tar # cd php-4.3.10 # ./configure --prefix=/tmp/root --with-apxs=/tmp/root/bin/apxs # make # make install installing php sapi module: apache [activating module `php4' in /tmp/root/conf/httpd.conf] cp libs/libphp4.so /tmp/test/root/libexec/libphp4.so chmod 755 /tmp/root/libexec/libphp4.so cp /tmp/root/conf/httpd.conf /tmp/root/conf/httpd.conf.bak cp /tmp/root/conf/httpd.conf.new /tmp/test/root/conf/httpd.conf rm /tmp/test/root/conf/httpd.conf.new installing php cli binary: /tmp/root/bin/ <以下、省略> # cd /tmp/root/libexec/ # ls -l total 3416 -rw-r--r-- 1 root wheel 7587 mar 11 23:58 httpd.exp -rwxr-xr-x 1 root wheel 3467366 mar 12 00:06 libphp4.so というようにlibphp4.soがモジュールの格納ディレクトリ(今回の場合、/tmp/root/libexec配下)にインストールにされますね。 make installを実行した際に「installing php sapi module」と表示された後から「installing php cli binary」が表示されるまでの部分はどのような表示になってますか?