[精讚] [會員登入]
1901

[PHP7] 利用Memcached 儲存 Session

Memcached+ PHP7,利用Memcached 儲存 Session。

分享此文連結 //n.sfs.tw/11138

分享連結 [PHP7] 利用Memcached 儲存 Session@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-23 08:05:11 最後編修
2017-05-25 01:38:36 By 張○○
 

自動目錄

PHP7安裝memcached,提升網頁速度

OS

CentOS Linux release 7.3.1611 (Core)

PHP 7.0.18 (cli) (built: Apr 15 2017 07:09:11) ( NTS )

安裝

# yum install epel-release

# yum install memcached

# yum install php70w-pecl-memcached

完裝完畢後會多一個檔案:

/etc/php.d/z-memcached.ini

設定

vi /etc/sysconfig/memcached

PORT="11211"
USER="memcached"
MAXCONN="3000"
CACHESIZE="200"
OPTIONS="-l 127.0.0.1"

第3行最大連線數;

第4行記憶體大小,單位是mb

第5行限定監聽介面,若留空就全部介面

# vi /etc/php.ini

session.save_handler = memcached
session.save_path = "127.0.0.1:11211"

啟動

# systemctl start memcached

# systemctl restart httpd

檢查php模組
# php -m | grep memcached
memcached <一片空白代表你沒裝好>

查看Memcached狀態

物件清單
# memcached-tool 127.0.0.1:11211

# memcached-tool 127.0.0.1:11211 display

統計資料
# memcached-tool 127.0.0.1:11211 stats

物件內容
# memcached-tool 127.0.0.1:11211 dump

其他

1. 設定開機啟動

systemctl enable memcached

2. PHP的session原本存在 /var/lib/php/session/ 改成 memcached後就不會再存於此

3. 重啟 apache不會清除資料,但重啟memcached會。

4. Codeigniter3 在PHP7使用memcached會遇到問題,目前尚無法解決(只能關掉錯誤)

$ vi application/config/config.php

$config['sess_driver'] = 'memcached';  //files
$config['sess_save_path'] = '127.0.0.1:11211'; //NULL;

A PHP Error was encountered

Severity: Warning

Message: Memcached::touch(): using touch command with binary protocol is not recommended with libmemcached versions below 1.0.18, please use ascii protocol or upgrade libmemcached

Filename: drivers/Session_memcached_driver.php

參考資料

[1] https://ssorc.tw/5965

[2] https://www.cyberciti.biz/faq/rhel-fedora-linux-install-memcached-caching-system-rpm/

[3] http://php.net/manual/en/memcached.sessions.php#99646

[4] https://blog.longwin.com.tw/2010/04/use-memcached-store-php-session-2010/

 

 

END

你可能感興趣的文章

[PHP]解決ksort新增的SORT_NATURAL|SORT_FLAG_CASE方法 php>=5.4中ksort函數多了SORT_NATURAL 和 SORT_FLAG_CASE 旗標,對舊版的PHP中要怎麼辦?

[PHP] 字串編碼及解碼函式 為何要將字串編碼?理由很簡單,就是不要讓人家輕易的知道字串內容是什麼。例如點選分頁時,我們常會用這樣的連結: index

[PHP] 取得檔名和路徑:basename, dirname 由絕對路徑取的路徑及檔名的方法

[PHP+ci4] codeignitor4+ smarty5 這篇整合 php 的framework codeignitor4 + smarty5。

使用strcmp來判斷日期是否介於某日期之間 要比較現在日期是否在兩個日期之間,使用字串比對的方法

[PHP] 輸出EXCEL的最簡易方法 輸出EXCEL最簡易方法,就沒要求太多了

隨機好文

使用Google尋找你的手機 這近發現google竟然可以用來找android的手機,而且不需要經過什麼設定或安裝軟體。

HP SAS硬碟leds燈號說明 HP SAS硬碟leds燈號(hp g7/g6系統適用)說明

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

[bc] linux 的計算機 bc 設定小數位數、計算π、次方根 linux 的計算機 bc 設定小數位數、計算π、次方根

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?