今まで考えないようにしてきた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 -&gt; /etc/apache2/mods-available/cgi.load
<strong>lrwxr-xr-x  1 root root 37 2006-02-20 00:38 php5.conf -&gt; /etc/apache2/mods-available/php5.conf
lrwxr-xr-x  1 root root 37 2006-02-20 00:38 php5.load -&gt; /etc/apache2/mods-available/php5.load</strong>
lrwxr-xr-x  1 root root 40 2005-12-11 18:22 userdir.conf -&gt; /etc/apache2/mods-available/userdir.conf
lrwxr-xr-x  1 root root 40 2005-12-11 18:22 userdir.load -&gt; /etc/apache2/mods-available/userdir.load

自分の手でシンボリックリンク張ったり消したりするしかないのかな? なんか仕組みがありそうな気がする!

Comments


Option