[精讚] [會員登入]
1998

[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] preg_match 的貪婪和不貪婪比對 在php preg_match中預設是採用貪婪比對,太貪婪反而不符合需要,因此得採用「非貪婪比對」...

設定Google analytics API #3 -- 查詢範例 讓你的網站能夠存取你的Google analytics上面的資料

PHP cli 傳入參數 php cli (PHP命令列的傳入參數使用方法

[PHP] 位元運算 (Bitwise operation)及和PERL比較 PHP 的位元運算,及和PERL比較整理

[PHP] 如何寫callback function 召回函數(回呼函數) PHP如何寫召回函數或回呼函數(callback function)?

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

隨機好文

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

如何在linux下執行java 原生的java應用程式可以使用簡單的方法在console下面寫出來,適合作簡單的應用

此一時彼一時 我是不是易怒的人,其實我也不知道,總之我常會失控,不知道自己在幹嘛。這近生活過得浮浮的,不是很踏實,總會想太多,我甚至會

[AS3] FLASH 引入外部as檔 FLASH AS3中,若要引用另外撰寫的 class(*.as) 檔案,該如何處理?

[AS3] 物件加上超連結的方法 物件加上超連結,可讓使用者點擊的方法