memcached をCentosで使ってみる
memcachedをCentOSで使ってみます。
環境
CentOS release 6.3 (Final)
yum install libevent libevent-devel
# wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz # tar zxvf memcached-1.4.15.tar.gz # cd memcached-1.4.15 # ./configure # make # make install # ls -l /usr/local/bin/memcached -rwxr-xr-x 1 root root 309228 11月 13 23:03 2012 /usr/local/bin/memcached
# /usr/local/bin/memcached -p 11211 -m 64m -d
can't run as root without the -u switch
# useradd memcached # /usr/local/bin/memcached -p 11211 -m 64m -d -u memcached
# /etc/init.d/httpd restart # php -i | grep memcached
/etc/php.d/memcached.ini, memcached memcached support => enabled libmemcached version => 0.31 Registered save handlers => files user memcache memcached
# vim test.php
<?php
$memcached = new Memcached(); $memcached->addServer('localhost', 11211); $memcached->flush(); $number = 100; $text = 'Hello World !!'; $list = array(1, 2, 3); $memcached->set('number', $number); $memcached->set(2, $text); $memcached->set(3, $list); var_dump($memcached->get('number')); var_dump($memcached->get(2)); var_dump($memcached->get(3));
int(100) string(14) "Hello World !!" array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
eclipse3.7 をwindows7 64bit版で使う!
eclipseを日本語で使いたい場合によくPleiades All in Oneを使用しますが、
公式では32bit版しかないようでしたので、
eclipse3.7 をwindows7 64bit版で使う方法を記載しておきます。
とおもったらとても詳しくこちらの方が記載していましたので、
参考にさせていただきました。
http://d.hatena.ne.jp/goriponsoft/20111013/1318432116
以下作業ログ
1,Java版のためEclipse Indigo (3.7) をここからダウンロード
2,Pleiades All in One 日本語ディストリビューション ダウンロード
※JREなし版でOK。
3,JStyleの64bit版をダウンロード
jstyle_3.7.2.0-64bit.zipをダウンロードしました。
4,ダウンロードしたzipファイルを展開
Pleiades All in Oneを統合
展開したフォルダの中から
"eclipse\eclipse.exe -clean.cmd"、
"eclipse\eclipse.exe startup.cmd"
"eclipse\dropin\"、
".metadata.default\"
をEclipseの方に統合・上書き。
eclipse\eclipse.iniを編集
4行目
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
↓ 赤字を追加
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
JStyleを統合
展開したフォルダの中から"plugins"フォルダをEclipseの方に統合。
これでバッチリ起動しました!!
goriponsoftさん ありがとうございますm(__)m
php5.2未満における httpOnly属性設定
Adobe Developer Connection
Securing your applications using HttpOnly cookies with ColdFusion
javascriptによるsession idの盗聴を防ぐために、HttpOnly属性を設定すべきだということです。
PHP5.2以降であれば以下の設定のいずれかにて実現できます。
コード内の場合
ini_set('session.cookie_httponly', 1);
php.iniで設定
session.cookie_httponly
cookie発行時に設定(第7引数)
setcookie( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
PHP 5.1.x 以前の PHPの場合、上記の方法は使用できませんが、
header() 関数を使用すれば Cookie に HttpOnly 属性を付加することが可能です。
header("Set-Cookie: PHPSESSID=".session_id()."; httpOnly; path=/");
以前はFireFoxで対応していない等があったが、
RFC6265 で定義されたため、現在は
Internet Explorer 6 SP1以降
Firefox 2.0.0.5以降
Google Chrome 1.0以降
Safari 4.0以降
では対応済みだそうです。
参考サイト
http://www.studyinghttp.net/cookies#Set-Cookie
http://d.hatena.ne.jp/t_komura/20060812/1155349717
http://d.hatena.ne.jp/ryster/20080229/1204304780
yii shop を使ってみる
前回 yiiのモジュールを配置するところまでやりましたので、
実際にyii shop モジュールを インストールします。
まず、設定ファイルにDB接続情報を記入します。
(ここでのユーザにCreate権限がある必要があります。)
# vim protected/config/main.php
あとは画面の指示に従うだけですが、
デフォルトのままですと、画面右側のテーブル名に
自動的にされてしまいますので、適宜修正しましよう。
テーブル名を指定したら、
[Install WebShop]のボタンを押します。
インストール完了。実際の画面を見てみます。
商品の選択画面です。
すでにテスト商品が配置され、上のタブでカテゴリがわかれています。
商品詳細画面です。
数量選択とオプションの選択肢、
ショッピングカートに追加ボタンがあります。
黄色の枠でメッセージが出ます。しばらくすると
フェードアウトします。
また、右のナビに現在のショッピングカートの情報が載ります。
ショッピングカートを見ると以下の様な画面になりました。
ユーザ機能以外にも、
管理者用ページがありました。
/protected/components/UserIdentity.php がデフォルトのままであれば、
user :admin
pass :admin
でログインし、
index.php?r=shop/shop/admin
にアクセスすると、商品カテゴリ、商品、注文状況などを管理するページにアクセスすることができます。
デフォルトでここまでできますので、
使ってみてはいかがでしょうか。
Linux yum mysql インストール
ささっとmysqlをインストールします。
# yum install mysql-server ← mysqlではないので注意
設定ファイル編集
# vim /etc/my.cnf
#追加
default-character-set=utf8
自動起動の設定
# chkconfig --list mysqld
# chkconfig mysqld on
mysql起動
# /etc/rc.d/init.d/mysqld start
パスワード設定
# mysqladmin -u root password '設定したいrootパスワード'
# mysql -u root -p
インストール完了!!
yii モジュール インストール
Yii Framework の基本機能のうち、最初から入っていないものに
モジュール(modules)があります。
http://www.yiiframework.com/doc/guide/1.1/ja/basics.module
モジュールは、モデル、ビュー、コントローラ およびその他の支援的コンポーネントから構成される自己完結したソフトウェアユニットです。
機能毎に完結したサイトをモジュールとして用意し、
親のサイトにくっつけるという印象でしょうか。
今回サンプルとしてYii Shop というものをインストールしてみます。
http://www.yiiframework.com/extension/yiishop/
説明を読むと、自分のサイトに簡単にWeb Shopが開けるとのことですので、
支払い系の簡単なテストサイトを作るには便利なのではないでしょうか。
以下作業手順
検証環境
OS CentOS release 6.2 (Final)
PHP 5.3.3 (cli) (built: Jul 3 2012 16:53:21)
Yii 1.1.12
DocumentRoot /var/www/html/
まずprotected配下にmodulesディレクトリを生成します。
# mkdir /var/www/html/protected/modules/
モジュールをwebから取得し、解凍します
# wget http://www.yiiframework.com/extension/yiishop/files/yii-shop_0.7rc3.tar.bz2
# tar jxvf yii-shop_0.7rc3.tar.bz2
'modules'=>array( 'shop' => array( 'debug' => 'true'),//Yii shop 用指定 ),
モジュールの配置はこんな感じです。
Yii ShopはDBの設定が必要なので
別回で紹介します。
yii インストールからWebアプリ生成まで
Yii Frameworkをインストールします。
環境
CentOS release 6.2
PHP 5.3.3
http://www.yiiframework.com/doc/guide/1.1/ja/quickstart.installation
# wget http://yii.googlecode.com/files/yii-1.1.12.b600af.tar.gz
# tar zxvf yii-1.1.12.b600af.tar.gz
# mv yii-1.1.12.b600af yii
ここで自分の使用しているサーバがYiiの使用要件を満たしているかを確認します。
http://hostname/path/to/yii/requirements/index.php
sakuraのデフォルトだといろいろ足りなかったのでyumで追加
yum install php php-pdo php-mysql php-xml
結果こんな感じになりました。
まぁあとは必要になったらということで。
ここで適当にアプリを生成します。
# php framework/yiic.php webapp iwason
Your application has been created successfully under /var/www/html/iwason.
php.iniに追加。
date.timezone = Asia/Tokyo