Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

RHEL3にfileinfo拡張をインストールしたときのメモ

自分用メモ(PHP.5.2.9)。いまさらRHEL3です。。。
fileinfo拡張はbuildにlibmagicが必要ですが、RHEL4に含まれるパッケージ(file-4.10)には含まれているので、問題なくbuildできます。しかし、RHEL3のfileパッケージ(file-3.39)には、libmagic関連のファイルがありません。このため、libmagicを別途入手する必要があるわけですが、とりあえずrpmfindで見つけたので

$ rpm -ivh ftp://fr2.rpmfind.net/linux/PLD/dists/ac/ready/i386/libmagic-4.12-1.i386.rpm
$ rpm -ivh ftp://fr2.rpmfind.net/linux/PLD/dists/ac/ready/i386/libmagic-devel-4.12-1.i386.rpm
$ sudo pecl install fileinfo

でインストール。PHPマニュアルにあるコードを元にしたサンプル

<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo "fileinfo データベースのオープンに失敗しました";
    exit();
}

/* 指定したファイルの mime タイプを取得します */
$filename = "/path/to/file.txt";
echo $finfo->file($filename);

/* 接続を閉じます */
//$finfo->close();
$file = null;

も動作したので、とりあえず良しとしました。

いい加減、古いOSは捨てたい。。。