1 頁 (共 1 頁)

[PHP]將session透過memcached存放到記憶體中

發表於 : 2009-12-07 09:22:41
yehlu
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()字串'));
?>
如果正確顯示有資料,則成功