gpt4 book ai didi

PHP 5.6 session + 内存缓存(d)

转载 作者:可可西里 更新时间:2023-11-01 13:30:24 26 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,因为我已经将 PHP 从 5.4 升级到 5.6。我自己从未见过该错误,但每天都有完整的日志记录此消息:

session_write_close(): Failed to write session data (memcached). Please verify that the current setting of session.save_path is correct (127.0.0.1:11211)

这不会总是发生,但只针对某些用户。这发生在三个不同的服务器上,这些服务器在最新的 Debian 上有 PHP ~5.6 和 Memcached。我已经尝试将 Memcached 扩展切换到 Memcache(当然是在 php.ini 中更改 save_handler),但问题仍然存在。我也试过在 php.ini 中禁用 session 锁定。这个问题肯定和PHP有关,因为我用Perl脚本测试了Memcached daemon本身,没有出现任何连接错误。

在很长一段时间内一切都运行良好,我在 PHP 升级后就开始遇到这个问题,所以它与 memcached 配置或类似的东西无关。也许我错过了什么?也许 5.6 需要在其 ini 文件中进行一些额外的配置?我只是想不通。

目前我有点卡住了,我希望任何人都可以帮助我提供建议。我可以尝试切换回 5.4 或 5.5,但这不是一个真正的选择,我真的很想坚持使用 5.6。

最佳答案

有 2 个 PHP 扩展,memcachememcached

memcached 扩展基于 libmemcache,无论如何您应该更喜欢那个。

根据我的经验,当前版本的内存缓存守护进程与内存缓存 扩展配合得不是很好。存储数据有效,但我在第一次请求后将数据写入 session 时遇到了实质性的性能问题(对全新 session 的第一次请求很好而且很快,每个后续请求最多需要 10 秒!)。用 memcached 替换 memcache 解决了这个特殊问题。

警告:memcachedsession.save_path 语法略有不同。我必须省略 tcp:// 否则它不会工作

所以对于 memcached 使用:

session.save_path = "127.0.0.1:11211"

对于 memcache 使用:

session.save_path = "tcp://127.0.0.1:11211"

关于PHP 5.6 session + 内存缓存(d),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27743232/

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