扫码关注官方订阅号
是这样的,我们有多台服务器做负载均衡,跑的代码都一样,域名也一样,如果在浏览器设置了cookie,浏览器访问不同的服务器,cookie还会正确的识别吗?
认证高级PHP讲师
可以的。但是如果保存有SESSION_ID 就不行了。
PHP的session默认是存文件的, 所以不支持分布式服务器.
解决方案为使用redis作session, 多台服务器共用一个redis session库
安装redis-server 及 php-redis扩展
配置php.ini
# 启用redis存放session session.save_handler = redis # 默认为files # redis连接配置 # RedisServer: redis服务器地址,如IP # database = redis数据库, 默认为0 # prefix = 存入redis库的key前缀, 此为PHPSESS_ # timeout = 连接超时(秒) # persistent = 是否使用长连接 session.save_path = "tcp://RedisServer:6379?database=9&prefix=PHPSESS%3A&timeout=2.5&persistent=1"
至于session和cookie的使用, 平时php代码里该怎么用还是怎么用另外, 有个序列化的性能, php默认的序列化性能不是很好建议安装 php igbinary扩展, 然后
# session使用igbinary序列化, 默认为php session.serialize_handler = igbinary
同理, 如果你有PHP中使用redis或memcached, 启用igbinary序列化会略提升些性能
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以的。但是如果保存有SESSION_ID 就不行了。
PHP的session默认是存文件的, 所以不支持分布式服务器.
解决方案为使用redis作session, 多台服务器共用一个redis session库
安装redis-server 及 php-redis扩展
配置php.ini
至于session和cookie的使用, 平时php代码里该怎么用还是怎么用
另外, 有个序列化的性能, php默认的序列化性能不是很好
建议安装 php igbinary扩展, 然后
同理, 如果你有PHP中使用redis或memcached, 启用igbinary序列化会略提升些性能