普段は迷わずPHP5.3使うのですが、今やってるサイトがPHP4なのでインストールしたときのログを残しておきます。
前提
どのようにするか
PHP4はソースからインストールする。makeしてできるApahceのモジュールのMIMEタイプを『application/x-h-httpd-php4』で作成する。バーチャルホストの設定でPHP4で動くようにする。
make準備
1 2 3 | [suusuke@macbook ~]$ curl -o php-4.x. tar .gz -L http: //jp2 .php.net /get/php-4 .4.9. tar .gz /from/this/mirror [suusuke@macbook ~]$ tar zxvf php-4.x. tar .gz [suusuke@macbook ~]$ cd php-4.4.49 |
sapi/apache2handler/sapi_apache2.cを変更する。
1 | #define PHP_MAGIC_TYPE "application/x-httpd-php" |
↓
1 | #define PHP_MAGIC_TYPE "application/x-httpd-php4" |
configure
とりあえず最低限、必要そうなものをオプションに追加しました。
また、Snow Leopardでconfigureする時はlresolvを有効にする必要があるようなので、『EXTRA_LIBS=-lresolv』で指定する。
1 2 3 4 5 6 7 8 9 10 11 12 | [suusuke@macbook ~]$ EXTRA_LIBS=-lresolv \ . /configure --prefix= /usr/local/lib/php-4 .4.9 \ --with-apxs2= /usr/sbin/apxs \ -- enable -mbstring \ --with-pgsql= /opt/local/lib/postgresql83 \ --with-pdo-pgsql= /opt/local/lib/postgresql83 \ --with-mysql \ --with-pdo \ --with-gd \ --with-png- dir = /opt/local \ --with-jpeg- dir = /opt/local \ --with-zlib- dir = /opt/local |
ないものは基本portでインストール。
今回インストールしたのは
1 2 | [suusuke@macbook ~]$ sudo port install libpng [suusuke@macbook ~]$ sudo port install jpeg |
の二つ。
MySQL、PostgreSQLのインストールについてはSnow Leopard に PostgreSQL インストールSnow Leopard に MySQL 再インストールを参照。
make
1 2 | [suusuke@macbook ~]$ make [suusuke@macbook ~]$ sudo make install |
設定
1 | [suusuke@macbook ~]$ sudo cp php.ini-recommended /usr/local/lib/php-4 .4.9 /lib/php .ini |
PHP.iniのinclude_pathにPEARのパスを追加。。。したいところだったんだけど、PEARがインストールされない。。。
とりあえず、PEARは未だにPEAR::DB使ってるんみたいなんで、手動で入れることに。
aliasの設定
~/.bashrc
1 | alias php4= /usr/local/lib/php-4 .4.9 /bin/php |
反映
1 | [suusuke@macbook ~]$ source ~/.bashrc |
確認
1 2 3 4 | [suusuke@macbook ~]$ php4 - v PHP 4.4.9 (cli) (built: Mar 26 2011 10:08:22) Copyright (c) 1997-2008 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies |
バーチャルホストの設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # test.php5.info <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/php5/public_html" ServerName test .php5.info <Directory "/Library/WebServer/Documents/php5/public_html" > AllowOverride All order deny,allow allow from All < /Directory > < /VirtualHost > # test.php4.info <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/php4/public_html" ServerName test .php4.info <Directory "/Library/WebServer/Documents/php4/public_html" > AllowOverride All order deny,allow AddType application /x-httpd-php4 .php allow from All < /Directory > < /VirtualHost > |
phpinfo();で確認してみる。
削除したいときは
/usr/local/lib/php-4.4.9 php-x.x.x/ bin/ PHPコマンドなど etc/ pear設定ファイル include/ ヘッダファイルなど lib/php PEARライブラリディレクトリ man/ マニュアル /opt/local/apache2/modules/libphp4.so
を削除するだけ。
参考にさせてもらったサイト
http://www.atmarkit.co.jp/fcoding/articles/macxphp/02/macxphp02a.html