_onichannn

【CentOS, PHP】CentOSにmecab、php_mecabをインストールする。

タイトルのことをやった時のメモ。

■CentOSにmecabをインストールする。

wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
tar zxfv mecab-0.996.tar.gz
cd mecab-0.996
./configure --enable-utf8-only
make
make install

■IPAdicをインストールする。
これはmecabの標準辞書。

wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --with-mecab-config=/usr/local/bin/mecab-config --prefix=/usr/local/ --with-charset=utf8
make
make install

下記ファイルでmecabが使用する辞書の設定が確認出来る。

vi /usr/local/etc/mecabrc

※以下が使用している辞書のパス

dicdir = /usr/local/lib/mecab/dic/ipadic

■php_mecabをインストールする。

wget https://github.com/downloads/rsky/php-mecab/php-mecab-0.5.0.tgz
tar xzvf php-mecab-0.5.0.tgz
cd php-mecab-0.5.0
phpize
./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config
make
make install

以下のメッセージが表示されれば無事完了。

Installing shared extensions: /usr/lib64/php/modules/

■php.iniにエクステンションを追加して完了

vi /etc/php.ini

php.iniの好きな位置に下記行を記述する。

extension=mecab.so

apatchを起動して完了。

# 再起動もしくは
service httpd restart

# 再読み込み
service httpd reload

以上で全て完了。お疲れ様でした。

 

【CentOS】phpizeコマンドが使えない時。

PHPのエクステンションをインストールしようとしてphpizeコマンドを使うも、下記のように怒られてしまった。

phpize: command not found

どうやら「php-devel」パッケージをインストールすることでphpizeも使えるようになるらしいので、下記コマンド実行してみる。

yum install php-devel

これでOK。無事使えるようになりました。

 

【CentOS】yumコマンドでCentOSへG++をインストールする。

めも。

CentOSに「G++」をインストールしたい場合、「gcc-c++」をyum installすればよい。

yum install gcc-c++

 

【PHP】mkdir()で再帰的にディレクトリを生成する方法。

前回のエントリ←で再帰的にディレクトリを生成する関数をメモったけど
PHP5からはmkdir単体で同一のことを実便出来る模様。

mkdir('/path/to/dir', 0777, true);

第三引数にtrueを渡せば、recursiveで動作してくれる。

 

【PHP】指定したディレクトリを再帰的に生成する。

めも。

function mkdir_r($dirname) {
	if(file_exists($dirname)) {
		return false;
	}
	if(strpos($dirname, '/') && !file_exists(dirname($dirname))) {
		if(mkdir_r(dirname($dirname)) === false) {
			return false;
		}
	}
	return mkdir($dirname);
}

生成したいパスを渡せばそこに到達するまでのパスすべてに必要なディレクトリを生成してくれる。

 

【PHP】HTTPSリクエストか否かを判定する。

めも。

if ($_SERVER['HTTPS'] != 'on') {
	// httpsリクエストではない場合の処理
	
} else {
	// httpsリクエストである場合の処理
	
}

 

【PHP】様々な便利ラッパー関数群を提供してくれる「util.php」。

衝撃の発見。

これは相当便利な匂いがする。

http://brandonwamboldt.github.io/utilphp/

上記公式URLを参照すると分かる通り、様々な便利関数が提供されている。

これは今後include必須になるかも!?

 

【PHP】二つの文字列の類似性を計算する。

面白い関数を見つけたのでメモ。

$var_1 = 'abcdee'; 
$var_2 = 'eefghi'; 

similar_text($var_1, $var_2, $percent); 

var_dump($percent);

↓

float(33.333333333333)

上記のように二つの文字列を渡すと、第三引数に類似性のパーセンテージを返してくれる。

これは何か面白い事に使えそうな予感。