スキップしてメイン コンテンツに移動

[PHP]php-mcryptがyumでインストールできないときに幸せになる方法

RedHat系のLinuxディストリビューションを利用している方はyumのお世話になることも多いかと思います。私が使っているCentOSもそんなRedHat系のディストリビューションですし、yumには足向けて寝られないくらいお世話になっております。

今日はphp53をyumを使って勇み足でインストールしてしまったおちゃめさんに朗報です。

php53-mcryptというパッケージは存在しません!

なので、PHPでcrypt系の関数を使うための選択肢としては
  1. php53を捨てる(漢らしい!)
  2. phpを自らコンパイルしなおす(これを選ぶ人はそもそもyumをry)
  3. php-mcryptパッケージに相当する部分だけ自分で作ってみる(適度な仕事した感が得られます)
ということで、どれを選びますか、奥さん。

今日は3の自分で作る方法を利用して、本番環境でphp53パッケージを使ってしまったものの、mcryptが導入できないことを知って前門の虎、後門の狼みたいな感じになっちゃった、粗忽ものを救う、そんな企画です。




自分でmcryptパッケージを作成する場合に必要なものは以下のとおりです。
  • PHPのバイナリファイル
  • php-develパッケージ
残念なことに、PHPのバイナリファイルは必要です。
wget http://museum.php.net/php5/php-5.3.3.tar.gz

もしくは
curl http://museum.php.net/php5/php-5.3.3.tar.gz
# 他のバージョンが欲しい場合は http://www.php.net/releases/ から選ぶ

ダウンロードが完了したら、tarballを展開します。
tar zxf php-5.3.3.tar.gz

準備は完了です。では目的のmcryptをコンパイルします。ここからの作業はsudo、もしくはrootユーザーで実行してください。
cd php-5.3.3/ext/mcrypt
phpize
aclocal
./configure
make
make test
make install

インストール完了です。次はmcryptのモジュールを読み込むようにphp.iniを修正したいと思いますが、php.iniもhttpd.confと同じように、php.dディレクトリ以下の設定ファイルを自動で読み込むようになっているので、php.iniには追記せずに新たに設定ファイルを書くことにしましょう。
vi /etc/php.d/mcrypt.ini

# 以下の一行だけ書きこむ
extension=mcrypt.so

httpdリスタートすれば完了です。首の皮一枚つながった感じでしょうか?

本番でこういうのをやるのはホントにダメ!絶対!


see also:
そろそろ真面目に自動テストしよう
PHPerが一瞬でC言語をマスターする方法
PHPのmysql系関数のまとめ
さくらインターネットの .mailfilter にハマる


コメント

このブログの人気の投稿

[VB.NET]オレオレ証明書でSSL通信するための短絡的な解決法

VB.NETソフトウェアでサーバーと通信することはよくある事だと思いますが、最近はHTTPを使って明けっ広げに刺しに行くよりHTTPSを使って暗号化してこそこそやった方が時代の流れに即した感じですよね(違うか)。 いちいちテスト環境でSSL証明書を用意するのも面倒だということで、セキュリティ的には全くよろしくない方法で迂回できるので紹介します。

[JS]Canvasでよく使う描画テクまとめ

HTMLで画像をいじくりたい時は、canvasを利用して編集するのは一般的ですが、WindowsストアアプリではHTML+CSS+JSでのアプリ開発ができる事もあって、簡単な画像編集であれば、C#やVBを使うより分かりやすいし資料が多く、C++でDirectXをガリガリ書くよりお手軽。入出力もファイルピッカーを使えば簡単に実装できます。今回は、Windowsのコードではなく、Canvasを利用する時のJavaScriptを使いどきに合わせてまとめていきます。

curl の基本的な使い方 -設定編-

今回のcurl TIPSは、curlをより日常的に使っていくためのHow toです。curlには、数多くのオプションが用意されていて、それらを組み合わせる事で様々な事が楽になるでしょう。サービス監視の自動化などにはまさにcurlの得意分野です。 今回は、curlを更に自分のものにしていくために大事なカスタマイズの部分を解説します。