[PR]名古屋・看護師の求人:地域密着の看護師求人を探すなら

TOP > PHP for Win32 >

Namazu モジュール for Win32

はじめに

PHP4からNamazu関数を呼び出すためのモジュールが塚田卓也氏によって開発されました。
このモジュールをWindows版PHPでも使えるようにVisualC++でビルドしてみました。

最新情報

ダウンロード

php4_namazu-3.0.0 PHP4.3.x(24KB)

php4_namazu-2.1.0 PHP4.1.x(24KB) PHP4.2.x(24KB)

php4_namazu-2.0.1 PHP4.0.6(20KB) PHP4.1.x(20KB)

インストール

@ ファイルのコピー

php_namazu.dll

圧縮ファイルを解凍し、PHP4のディレクトリにあるextensionsフォルダにコピーしてください。

nmz.dll

Namazuのインストールディレクトリのlibフォルダの中にあるので、それをシステムフォルダ
(Win9x/MeならC:\WINDOWS\System 、WinNT/2000ならC:\WINNT\System32 )に
コピーしてください。このDLLはNamazu2.0.6から同梱されています

A 設定

php.iniに以下を加えておいてください。

extension=php_namazu.dll

Namazu関数を有効にします。

namazu.debugmode = Off
namazu.lang = ja_JP.SJIS
namazu.loggingmode = On
namazu.sortmethod = field:from
namazu.sortorder = ascending

namazu.debugmode

(Off | On)

namazu.lang

デフォルトの言語を指定します。(ja | ja_JP.SJIS | fr | es)
jaを選択すれば日本語(EUC)、ja_JP.SJISを選択すれば日本語(SJIS)、frを選択すれば
フランス語、esを選択すればスペイン語、何も指定しなければ英語になります。

namazu.loggingmode

デフォルトのNMZ.slogへの出力を指定します。(Off | On)

namazu.sortmethod

デフォルトの並べ替え方法を指定します。(score | date | field:{field_name})

namazu.sortorder

デフォルトの並べ替え順を指定します。(descending | ascending)

B PHP情報の確認

以上の作業が終わったら、PHPの情報を表示するためのテストスクリプトを作成し、Namazuモジュールが
組み込まれているかブラウザで確認してください。

テストスクリプトの例

<?php
echo phpinfo();
?>

正しく組み込まれていれば以下のように表示されます。

      図1 phpinfo()の出力(namazuに関する部分のみ)

これが表示されればインストールは完了です。

Namazu関数について

このページを参照。

サンプルスクリプト

 ソースコードの中にサンプルスクリプトが含まれています。参考にしてみてください。

 また、いわきり氏によってサンプルスクリプト(namazu.php)が公開されています。

http://datula.mio.org/~iwakiri/php_nmz_sample.tar.gz

これを namazu.cgi の代わりに使えば、検索結果の表示を自分の好きなようにカスタマイズできます。
namazu.cgiのカスタマイズには限界があるので、検索結果の表示を自分好みにしたい人は試してみては
どうでしょうか?

(注意)

このサンプルスクリプトはマルチバイト対応正規表現関数mbregexを使用しています。

PHP4.2.x 以降 mbstringに統合
PHP4.1.x php_mbregex-1.3.1
PHP4.0.6 php_mbregex-1.2.1(bero氏のサイトより入手可能)
サイトが閉鎖されたため、現在は入手不可

上記のphp_mbregex.dllを入手してインストールしてください。

mbregexについてはこちらを参照してください。

(注意)

.namazurcを使う場合にReplaceの設定のところで

Replace /home/(.*)/public_html/ http://www.foobar.jp/\1/

のように正規表現を使うとURIの置き換えが正しくできないといった不都合が起きるのを確認しています。
その場合は正規表現を使わないようにしてください。

ビルド方法

@ソースコードの入手

PHP CVS Repository http://cvs.php.net/cvs.php/pecl/namazu/

から入手できます。cvsコマンドを使ったほうがいいでしょう。

コマンドプロンプトを開き、

cvs -d :pserver:cvsread@cvs.php.net:/repository login

と入力します。そうするとPasswordを聞いてくるので、「phpfi」と入力します。
そのあと、以下のように入力します。

cvs -d :pserver:cvsread@cvs.php.net:/repository co /pecl/namazu

こうすればnamazuのソースコードを入手できます。

Aパッチの入手

CVSで入手できるコードのアーカイブにはVisualC++でビルドするためのプロジェクトファイルが
含まれていませんので、ここから入手してください。

php_namazu.dsp.zip 2002.10.14

また、php_namazu 2.0.1 のビルドには若干のソースコードの修正が必要です。
以下にそのためのパッチを置いておきます。これにはいわきり氏によって
PHP-devメーリングリストで公開されたパッチも含まれています。

php4_namazu-2.0.1-win.patch (10KB)

このパッチをあてた際に生成される namazu.dsp の改行コードはLFとなっています。
これだとVisualC++で読み込めないので、エディタで改行コードをCR+LFに変換してください。

関連リンク集

全文検索システム Namazu for Win32
Namazu for Win32 はここから入手できます。

Namazu 2.x for Win32 -- 日本語全文検索システム -- (SLCool Software)
cop氏によるNamazu for Win32を解説したレポートです。

NamazuをPHPで使う
「 Server Architecture for Windows」というサイトのページ。見やすくまとまってる。

PHPでNamazu
「Namazuを使おう」というサイトのページ。

Email: tag3@infoseek.jp


[PR]就職、仕事にも県民性が出る?:無料カンタン占いで日払いもアップ