Macでphp+memcachedの検証
家のmacでphp+memcachedでセッション周りの動きを試したかった。
以下で検証できたので一先ずメモ。
memcached環境構築
- memcached+クライアントライブラリのインストール
# 以下でmemcachedも一緒に入る brew install libmemcached
- memcached起動
brew services start memcached
- 動作確認
memstat --servers=localhost
php環境構築
- phpインストール
brew install php
- 拡張モジュールのインストール
pecl install memcached
検証開始!
- アプリディレクトリ作成
mkdir ~/work/php/memcached cd ~/work/php/memcached
- phpファイル配置
vi index.php
<?php ini_set('session.save_handler', 'memcached'); ini_set('session.save_path', 'localhost:11211'); session_start(); if (!isset($_SESSION['count'])) { $_SESSION['count'] = 1; } else { $_SESSION['count']++; } echo $_SESSION['count'];
- サーバ起動
php -S localhost:8000
結果
- ブラウザ確認
http://localhost:8000/にアクセス
cookieにPHPSESSIDが追加され、値に乱数文字列 - memcachedの確認
php.iniのmemcached.sess_prefixの値(デフォルト=memc.sess.)+cookieのPHPSESSIDの値がキーとなっていると(゚~゚)% memdump --servers=localhost | xargs memcat --servers=localhost --verbose key: memc.sess.um8gtcfetagps7u7ep5gc6b4sm flags: 0length: 10 value: count|i:1;