今まで考えないようにしてきたPHP4と5の共存について、ちょっとだけ薄目開けて取り組んでみました。
とりあえず、何とかなりそうなCLI版の方のPHP4をインストール。(Debian etch)
colinux:~% sudo apt-get install php4-cli
PHP5もインストール。
colinux:~% sudo apt-get install php5-cli
pagerみたいにalternativesが使えれば簡単に切り替えられるはず。
colinux:~% sudo update-alternatives --display php
php - status is manual.
link currently points to /usr/bin/php4
/usr/bin/php4 - priority 40
slave php.1.gz: /usr/share/man/man1/php4.1.gz
/usr/bin/php5 - priority 50
slave php.1.gz: /usr/share/man/man1/php5.1.gz
Current `best' version is /usr/bin/php5.
つかえた。
colinux:~% sudo update-alternatives --set php /usr/bin/php4
colinux:~% php -v
PHP 4.4.2-1 (cli) (built: Jan 18 2006 12:33:46)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
CLIに関しては安心した。でもapacheモジュールの方は・・・?
mod_php4をインストール
colinux:~% sudo apt-get install libapache2-mod-php4
そしてmod_php5をインストール
colinux:~% sudo apt-get install libapache2-mod-php5
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
<strong>以下のパッケージは「削除」されます:
libapache2-mod-php4</strong>
以下のパッケージが新たにインストールされます:
libapache2-mod-php5
アップグレード: 0 個、新規インストール: 1 個、削除: 1 個、保留: 1 個。
2341kB 中 0B のアーカイブを取得する必要があります。
展開後に追加で 2081kB のディスク容量が消費されます。
続行しますか [Y/n]?
えー削除かよー。
etchのapache2では各モジュールのconfが/etc/apache2/mods-availableディレクトリにはいって、/etc/apache2/mods-enabledディレクトリからそっちへシンボリックリンクを張ると有効になるって感じになってるらしい。
colinux:~% ls /etc/apache2
README conf.d httpd.conf mods-available ports.conf sites-enabled
apache2.conf envvars magic mods-enabled sites-available ssl
colinux:~% ls /etc/apache2/mods-available
actions.load cgid.load imap.load <strong>php5.load</strong> suexec.load
asis.load dav.load include.load proxy.conf unique_id.load
auth_anon.load dav_fs.conf info.load proxy.load userdir.conf
auth_dbm.load dav_fs.load ldap.load proxy_connect.load userdir.load
auth_digest.load deflate.load mem_cache.load proxy_ftp.load usertrack.load
auth_ldap.load disk_cache.load mime_magic.conf proxy_http.load vhost_alias.load
cache.load expires.load mime_magic.load rewrite.load
cern_meta.load ext_filter.load <strong>php4.conf</strong> speling.load
cgi.load file_cache.load <strong>php4.load</strong> ssl.conf
cgid.conf headers.load <strong>php5.conf</strong> ssl.load
colinux:~% ll /etc/apache2/mods-enabled
合計 0
lrwxr-xr-x 1 root root 36 2005-12-12 23:06 cgi.load -> /etc/apache2/mods-available/cgi.load
<strong>lrwxr-xr-x 1 root root 37 2006-02-20 00:38 php5.conf -> /etc/apache2/mods-available/php5.conf
lrwxr-xr-x 1 root root 37 2006-02-20 00:38 php5.load -> /etc/apache2/mods-available/php5.load</strong>
lrwxr-xr-x 1 root root 40 2005-12-11 18:22 userdir.conf -> /etc/apache2/mods-available/userdir.conf
lrwxr-xr-x 1 root root 40 2005-12-11 18:22 userdir.load -> /etc/apache2/mods-available/userdir.load
自分の手でシンボリックリンク張ったり消したりするしかないのかな?
なんか仕組みがありそうな気がする!