Snow Leopard に PHP5.3 の環境に PHP4.4.9 をインストール

  • このエントリーをはてなブックマークに追加

普段は迷わずPHP5.3使うのですが、今やってるサイトがPHP4なのでインストールしたときのログを残しておきます。

前提

  • PHPはシステムにもともと入ってるPHP5.3(portsでインストールしたものでない)
  • ApacheはportsでインストールしたApache2.2
  • どのようにするか

    PHP4はソースからインストールする。makeしてできるApahceのモジュールのMIMEタイプを『application/x-h-httpd-php4』で作成する。バーチャルホストの設定でPHP4で動くようにする。

    make準備

    [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を変更する。

    #define PHP_MAGIC_TYPE "application/x-httpd-php"
    

    #define PHP_MAGIC_TYPE "application/x-httpd-php4"
    

    configure

    とりあえず最低限、必要そうなものをオプションに追加しました。
    また、Snow Leopardでconfigureする時はlresolvを有効にする必要があるようなので、『EXTRA_LIBS=-lresolv』で指定する。

    [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でインストール。
    今回インストールしたのは

    [suusuke@macbook ~]$ sudo port install libpng
    [suusuke@macbook ~]$ sudo port install jpeg
    

    の二つ。

    MySQL、PostgreSQLのインストールについてはSnow Leopard に PostgreSQL インストールSnow Leopard に MySQL 再インストールを参照。

    make

    [suusuke@macbook ~]$ make
    [suusuke@macbook ~]$ sudo make install
    

    設定

    [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

    alias php4=/usr/local/lib/php-4.4.9/bin/php
    

    反映

    [suusuke@macbook ~]$ source ~/.bashrc
    

    確認

    [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
    

    バーチャルホストの設定

    # 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

    • このエントリーをはてなブックマークに追加

    SNSでもご購読できます。

    ads

    コメントを残す

    *