session在服务端的存储

文件存储sessions

需要在先确定apache的php.ini的位置<然后编辑这个php.ini文件。


caikiki@ubuntu:/var/www/wordpress-4.6.5$ locate php.ini
/etc/php/7.0/apache2/php.ini
/etc/php/7.0/cgi/php.ini
/etc/php/7.0/cli/php.ini
/etc/php/7.0/fpm/php.ini
/usr/lib/php/7.0/php.ini-development
/usr/lib/php/7.0/php.ini-production
/usr/lib/php/7.0/php.ini-production.cli

caikiki@ubuntu: sudo vi /etc/php/7.0/apache2/php.ini

设置


session.save_handler = files

session.save_path = "/var/lib/php/sessions"

然后重新载入apache2 sudo service apache2 reload

这样才能将session以files形式存在服务器上。其实也只是一个id而已,会话这个概念的实体还是要在内存中为这个sessionid服务的进程才能得以体现。


caikiki@ubuntu:~$ sudo ls -al /var/lib/php/sessions
total 8
drwx-wx-wt 2 root     root     4096 Jan 21 10:42 .
drwxr-xr-x 4 root     root     4096 Jan 17 08:07 ..
-rw------- 1 www-data www-data    0 Jan 21 10:42 sess_h6hvi7nll3esbic26unu9i5ru2

另外session还可以用redis来存储。

redis存储sessions

需要先安装php的redis扩展。不知道包名的话,先搜一下,


caikiki@ubuntu:~$ sudo apt search redis|grep redis|grep php


WARNING: apt does not have a stable CLI interface. Use with caution in scripts.


libphp-predis/xenial 0.8.3-1 amd64
php-nrk-predis/xenial 1.0.0-1 amd64
php-redis/xenial,now 2.2.7-389-g2887ad1+2.2.7-1 amd64 [installed]

然后安装一下这个php-redis

编辑/etc/php/7.0/apache2/php.ini 文件。添加这两句


session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379?auth=xxxyyyzzz"

然后


caikiki@ubuntu:/var/lib/php/sessions$ redis-cli -h 127.0.0.1
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth xxxyyyzzz
OK
127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:h6hvi7nll3esbic26unu9i5ru2"
127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:h6hvi7nll3esbic26unu9i5ru2"
2) "PHPREDIS_SESSION:po3abp5b1u67deejht10vmp6n7"

注意这个redis存储会有超时的,过一段时间不用这个session,就会被php的垃圾回收删除掉。


127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:fc3mq8bocahu1b726ehbv0ftn6"
127.0.0.1:6379> keys *
(empty list or set)

参考:

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-redis-server-as-a-session-handler-for-php-on-ubuntu-14-04

http://blog.csdn.net/u011250882/article/details/48625179

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值