这是我的php.ini会话设置
session.save_handler = redis
session.save_path = tcp://127.0.0.1:63791
这是我的会话信息()
Session Support enabled
Registered save handlers files user redis rediscluster redis rediscluster
Registered serializer handlers php_serialize php php_binary wddx igbinary
Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.lazy_write On On
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler redis redis
session.save_path tcp://127.0.0.1:63791 tcp://127.0.0.1:63791
session.serialize_handler php php
session.upload_progress.cleanup On On
session.upload_progress.enabled On On
session.upload_progress.freq 1% 1%
session.upload_progress.min_freq 1 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix upload_progress_ upload_progress_
session.use_cookies On On
session.use_only_cookies On On
session.use_strict_mode Off Off
session.use_trans_sid 0 0
这是我在加载带有session_start 的页面时遇到的错误
致命错误:未捕获RedisException:连接在[无活动]中关闭file]:0堆栈跟踪:#0{main}在第0行的[无活动文件]中抛出
我做错了什么?堆栈是Apache 2.4.18、Php7.01、Redis 2.2.5
你读过吗:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-redis-server-as-a-session-handler-for-php-on-ubuntu-14-04
确保php应用程序不会覆盖会话。save_path ex:
ini_set("session.save_path","/tmp/");
如果您的设置在PHP应用程序中被覆盖,那么连接将失败。
在一个单独的php文件中测试您的配置:
<?php
var_dump(ini_get("session.save_handler"));
var_dump(ini_get("session.save_path"));
从控制台或web浏览器运行它。为了验证设置是否正确,最好尽可能晚地在应用程序中执行这段代码。
大多数时候,框架中的ini设置(Zend、Symfony等)在该框架的引导阶段过载。
当var_dump的输出与单独的PHP文件不同时,您可能需要调整框架设置。阅读您正在使用的框架的文档。
你问的问题可能有很多原因和影响。取决于基础设施、Redis设置、防火墙、PHP应用程序/框架。你应该意识到这一点。