設置環境
RHEL 4
5.2.6 ペソ
必要なソフトウェア
libevent-1.4.6-stable.tar.gz (http://monkey.org/~provos/libevent/)
memcache-2.2.3.tgz (http://pecl.php.net/package/memcache)
memcached-1.2.6.tar.gz (http://www.danga.com/memcached/)
インストール構成
1. libeventをインストールします
# tar zxf libevent-1.4.6-stable.tar.gz
# cd libevent-1.4.6-stable
# ./configure --prefix=/usr/local/servers/libevent
# 作成&&作成インストール
2. memcached をインストールします
# tar zxvf memcached-1.2.6.tar.gz
# cd memcached-1.2.6
# ./configure --prefix=/usr/local/servers/memcached --with-libevent=/usr/local/servers/libevent
# 作成&&作成インストール
3. memcached を実行します
# /usr/local/servers/memcached -d -m 128 -l localhost -p 11211 -u root
-d はデーモンモードで memcached を実行します。
-m は、memcached が使用できるメモリ サイズを M 単位で設定します。
-l は監視 IP アドレスを設定します。ローカル マシンの場合は、通常、このパラメータを設定する必要はありません。
-p はリスニングポートを設定します。デフォルトは 11211 なので、このパラメータを設定する必要はありません。
-u はユーザーを指定します;
memcached の実行中に問題が発生した場合、次のようなエラー メッセージが表示されます:
次に、LD_DUBUG=libs を実行して、memcached の開始時のライブラリのロード パスを確認します。詳細は以下の通りです
# LD_DEBUG=libs /usr/local/servers/memcached/bin/memcached -v
10929: 検索ライブラリ=libevent-1.4.so.2 [0]; 10929: 検索キャッシュ=/etc/ld.so.cache
10929: 検索パス=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2: /lib:/usr/lib/tls/i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr /lib/i686:/usr/lib/sse2:/usr/lib (システム検索パス)
10929: file=/lib/tls/i686/sse2/libevent-1.4.so.2 を試行しています
10929: file=/lib/tls/i686/libevent-1.4.so.2 を試行しています
10929: file=/lib/tls/sse2/libevent-1.4.so.2 を試行しています
10929: file=/lib/tls/libevent-1.4.so.2
を試行しています
10929: file=/lib/i686/sse2/libevent-1.4.so.2 を試行しています
10929: file=/lib/i686/libevent-1.4.so.2 を試行しています
10929: file=/lib/sse2/libevent-1.4.so.2
を試行しています
10929: file=/lib/libevent-1.4.so.2 を試行しています
10929: file=/usr/lib/tls/i686/sse2/libevent-1.4.so.2
を試行しています
10929: file=/usr/lib/tls/i686/libevent-1.4.so.2 を試行しています
10929: file=/usr/lib/tls/sse2/libevent-1.4.so.2 を試行しています
10929: file=/usr/lib/tls/libevent-1.4.so.2 を試行しています
10929: file=/usr/lib/i686/sse2/libevent-1.4.so.2 を試行しています
10929: file=/usr/lib/i686/libevent-1.4.so.2 を試行しています
10929: file=/usr/lib/sse2/libevent-1.4.so.2 を試行しています
10929: file=/usr/lib/libevent-1.4.so.2 を試行しています
10929:
次に libevent-1.4.so.2 へのリンクを作成し、memcached を実行します。
# ln -s /usr/local/servers/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2
4. php の memcache 拡張機能をインストールします。
# /usr/local/servers/php5/bin/pecl memcache をインストールします
#tar zxf memcache-2.2.3.tgz
# cd memcache-2.2.3
# /usr/local/servers/php5/bin/phpize
# ./configure --enable-memcache=/usr/local/servers/memcached --with-php-config=/usr/local/servers/php5/bin/php-config --with-apxs2=/usr/sbin /apxs
インストール後、次のようなプロンプトが表示されます:
共有拡張機能のインストール: /usr/local/servers/php5/lib/php/extensions/no-debug-non-zts-20060922/
これを思い出してから、php.ini を変更してください。
extension_dir = "./"
に変更
extension_dir = "/usr/local/servers/php5/lib/php/extensions/"
并追加一行
拡張子 = "no-debug-non-zts-20060922/memcache.so"
5. phpinfo を使用して
测试模块
$memcache = 新しい Memcache;
$memcache->connect(localhost, 12000) or die (「接続できませんでした」);
$version = $memcache->getVersion();
echo "サーバーのバージョン: ".$version."
";
$tmp_object = 新しい stdClass;
$tmp_object->str_attr = テスト;
$tmp_object->int_attr = 123;
$memcache->set(key, $tmp_object, false, 10) or die ("サーバーへのデータの保存に失敗しました");
echo "データをキャッシュに保存します (データは 10 秒で期限切れになります)
";
$get_result = $memcache->get(key);
echo "キャッシュからのデータ:
";
var_dump($get_result);
?>
表示結果:
サーバーバージョン: 1.2.6
データをキャッシュに保存します (データは 10 秒で期限切れになります)
キャッシュからのデータ:
object(stdClass)[3] public str_attr =>文字列テスト (長さ=4) public int_attr => int 123