gpt4 book ai didi

redis 中的 PHP session 不起作用

转载 作者:IT王子 更新时间:2023-10-29 06:04:29 24 4
gpt4 key购买 nike

这是我的 php.ini session 设置

session.save_handler = redis
session.save_path = tcp://127.0.0.1:63791

这是我的 session 信息()

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 加载页面时遇到的错误

Fatal error: Uncaught RedisException: Connection closed in [no active file]:0 Stack trace: #0 {main} thrown in [no active file] on line 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 应用程序不会覆盖 session.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"));

从控制台或网络浏览器运行它。要验证设置是否正确,还要在您的应用程序中执行这段代码,最好尽可能晚。

大多数情况下,框架(Zend、Symfony 等)中的 ini 设置会在该框架的引导阶段重载。

当 var_dump 的输出与单独的 PHP 文件不同时,您可能需要调整框架设置。阅读您正在使用的框架的文档。

您要问的问题可能有很多因果关系。取决于基础设施、Redis 设置、防火墙、PHP 应用程序/框架。你应该意识到这一点。

关于redis 中的 PHP session 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com