Do You PHP?    
Search Engine Optimization  php5 powerd  Valid XHTML 1.0!  Valid CSS!  このサイトのはてなブックマーク数 



last updated
2002/09/23

counter hits
since 1999/11/06


PHP4用マルチバイト対応正規表現ライブラリ(mbregex)のインストール手順 - 先付けの場合

もう説明の必要もないでしょうが、PHP4用マルチバイト対応正規表現ライブラリ(mbregex)の動的モジュールとしてのインストール手順をまとめてみました。インストール方法としては先付け(PHPソースに含める)・先付け(phpize)の2パターンありますが、とりあえず両方ともやってみました。

cautionPHP4.2.0以降であれば、PHPのソースにマージされていますので、PHPのconfigure時に「--enable-mbregex」を追加するだけでOKです。

ここでは、PHP本体のソースと共にコンパイルする先付けパターンについてまとめています。phpizeを使う後付けパターンはこちらからどうぞ。

1.Apacheのインストール

Apacheのインストールのページを参照して、DSOをサポートするようインストールしてください。

2.PHPのソースを入手・展開

PHP本家のサイト(http://www.php.net/)からソースを取得します。最新版は(2002/2/26現在)は、PHP4.1.1です。php-4.1.1.tar.gzをダウンロード・展開します。今回は、/usr/local/srcに展開しました。GNU tarの場合、以下のコマンドです。

$ tar zxf php-4.1.1.tar.gz -C /usr/local/src

3.mbregexのソースを入手・展開

こちら)からソースを取得します。最新版は(2002/2/26現在)は、PHP4.1.X用がphp4_mbregex-1.3.1、PHP4.0.x用がphp4_mbregex-1.2.1です。今回はPHP4.1.1を使用しましたので、php4_mbregex-1.3.1.tar.gzをダウンロードし、PHP本体のソースを展開したディレクトリ直下のextディレクトリ(/usr/local/src/php-4.1.1/ext)に展開し、/usr/local/src/php-4.1.1に移動しておきます。GNU tarの場合、以下のコマンドです。

$ tar zxf php4_mbregex-1.3.1.tar.gz -C /usr/local/src/php-4.1.1/ext
$ cd /usr/local/src/php-4.1.1

4.buildconfの実行

buildconfを実行し、configureスクリプトを再作成します。

$ \rm configure
$ ./buildconf

5.PHPのconfigure

ここで、mbregexサポートのオプションを付け、configureスクリプトを実行します。今回は、以下のオプションを付けましたが、その他のオプションはお好みにより付けて下さい。

  • PHPをApache DSO版にする(*1)
  • マルチバイト文字列関数(mbstring)をサポートする(*2)
  • デフォルトで組み込まれるMySQLサポートを外す(*3)
  • マルチバイト対応正規表現ライブラリ(mbregex)をサポートする(*4)

具体的なコマンドは、以下のようになります(カッコ内の数字は、上記のオプションの説明に対応しています)。

$ ./configure --with-apxs=/usr/local/apache/bin/apxs \  (*1)
--enable-mbstring \  (*2)
--enable-mbstr-enc-trans \  (*2)
--without-mysql \  (*3)
--enable-mbregex  (*4)

memoconfigure --help
とすると、オプションの説明が表示されます。

memoPHP3/4を同居させるためには、PHP3、PHP4のconfigure時に「--enable-versioning」オプションを付け、それぞれmake・make installします。

cautionconfigureに失敗した場合、コンソールの最後にメッセージが表示されるので、確認してみましょう。また、ログファイルconfig.logが作成されているはずですので、こちらも確認してみましょう。このファイルには、configureスクリプトの何行目辺りにある、どういった処理を行っている時にエラーとなったかが記されています。

6.コンパイルとインストール

configureが無事終了したら、makeを実行しコンパイルを行います。コンパイルが終了したらrootユーザーとなり、インストールを実行します。

$ make
$ su
# make install

memoインストール先は、[Apacheのインストール先]/libexec となります。ここにlibphp4.soが存在するかどうか、確認しましょう(これが実体です)。

7.php.iniの設定

PHP4の設定ファイルであるphp.iniのコピー&設定を行います。php-4.1.1ディレクトリにphp.ini-distファイルがありますので、/usr/local/lib/php.iniとしてコピーします。コピーしたら、以下の内容を追記します。詳細はphp-4.1.1ディレクトリにあるREADME.i18nを参照して下さい。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; for mbstring
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; HTTP入力エンコーディング変換をautoに設定
mbstring.http_input  = auto

;; SJISに変換
mbstring.http_output = SJIS
;mbstring.http_output = pass

;; 内部エンコーディングをEUC-JPに設定
mbstring.internal_encoding = EUC-JP

;; 無効な文字を出力しない
mbstring.substitute_character = none

mbstring.detect_order = auto


;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; for mbregex
; これは新規追加
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mbregex.encoding=EUC-JP

8.httpd.confの設定

[Apacheのインストール先]/conf/httpd.confを編集し、PHPを使用可能な状態にします。以下の赤字が編集した部分です。

DirectoryIndex index.html index.php
AddType application/x-httpd-php .php(アンコメント)
AddType application/x-httpd-php-source .phps(必要であればアンコメント)

9.Apacheの起動と動作確認

Apacheを起動し、phpinfoで以下の項目が表示されているかどうか確認します。

$ su -
# /usr/local/apache/bin/apachectl start
phpinfo

cautionPHP4.2.xの場合、phpinfoでは独立した項目ではなく、mbstringの一項目として表示されます。

phpinfo

また、以下のようなPHPスクリプトを用意し、動作テストを行います。


<?php
    $strS = "小池さんはラーメン大好き";
    $strEreg = "ラーメン";
    print mbereg_replace("$strEreg", "<B>$strEreg</B>", $strS);
?>



About This Site |  Privacy Policy |  Contact
Copyright © 1999 - 2002 by Hideyuki SHIMOOKA all rights reserved.