[PHP]將session透過memcached存放到記憶體中
發表於 : 2009-12-07 09:22:41
http://www.ursun.com.tw/discuz/viewthread.php?tid=10
UBUNTU 底下
1.安裝服務
#apt-get install memcached
2.編輯服務內容
#nano /etc/php5/conf.d/memcache.ini
3.安裝php5機制
# apt-get install php5-memcache
4.啟用memcache.so
/etc/php5/conf.d/memcache.ini
5.編輯/etc/memcached.conf
確認兩個參數 A.Default connection port
預設:112211
B.Start with a cap of 64 megs of memory
預設:64MB 建議開大一些
6.編輯php.ini :
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
或者是在網頁目錄下 .htaccess :
php_value session.save_handler "memcache"
php_value session.save_path "tcp://127.0.0.1:11211"
或者在某一個php程式中:
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://127.0.0.1:11211");
5.重新啟動 memcache
#/etc/init.d/memcached restart
6.重新啟動apache
#/etc/init.d/apache2 restart
7.測試php session 是否有正確啟用
A.先創建[session.php] 然後執行一次
<?php
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}
$_SESSION['TEST3'] = time();
print $_SESSION['TEST'];
print "<br><br>";
print $_SESSION['TEST3'];
print "<br><br>";
print session_id();
?>
B.接著創建[c_session.php]
<?php
$memcache = memcache_connect('localhost', 11211);
var_dump($memcache->get('填入session.php所產生的session_id()字串'));
?>
如果正確顯示有資料,則成功
UBUNTU 底下
1.安裝服務
#apt-get install memcached
2.編輯服務內容
#nano /etc/php5/conf.d/memcache.ini
3.安裝php5機制
# apt-get install php5-memcache
4.啟用memcache.so
/etc/php5/conf.d/memcache.ini
5.編輯/etc/memcached.conf
確認兩個參數 A.Default connection port
預設:112211
B.Start with a cap of 64 megs of memory
預設:64MB 建議開大一些
6.編輯php.ini :
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
或者是在網頁目錄下 .htaccess :
php_value session.save_handler "memcache"
php_value session.save_path "tcp://127.0.0.1:11211"
或者在某一個php程式中:
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://127.0.0.1:11211");
5.重新啟動 memcache
#/etc/init.d/memcached restart
6.重新啟動apache
#/etc/init.d/apache2 restart
7.測試php session 是否有正確啟用
A.先創建[session.php] 然後執行一次
<?php
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}
$_SESSION['TEST3'] = time();
print $_SESSION['TEST'];
print "<br><br>";
print $_SESSION['TEST3'];
print "<br><br>";
print session_id();
?>
B.接著創建[c_session.php]
<?php
$memcache = memcache_connect('localhost', 11211);
var_dump($memcache->get('填入session.php所產生的session_id()字串'));
?>
如果正確顯示有資料,則成功