php - 使用 PHP/ProcessWire CMS 和 session.save_handler = redis/memcached 的并行文件上传问题
问题描述
当我将 session 与 save_handler redis 或 memcached 一起使用时,我遇到了 PHP 问题。
我使用 ProcessWire CMS 并且两个会话处理程序方法通常都可以正常工作,但我发现了一个奇怪的行为:我无法并行上传多个图像。至少完成的图像将覆盖数据库中所有其他上传的图像。
从那时起,没有人真正使用 ProcessWire 和这个会话处理程序,我猜这不是 ProcessWire 本身的错误。也许这是 phpredis、memcached 扩展或 PHP 本身的错误,或者我有一些错误的配置。
我在 php.ini 中使用了以下内容:
对于 Redis:
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
对于内存缓存:
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"
它可能取决于会话锁定之类的东西吗?停用/激活它对我没有帮助。
processwire github repo 中的问题: https ://github.com/processwire/processwire-issues/issues/798
解决方案
我找到了解决方案。我在我的 php.ini 中添加了以下内容
redis.session.locking_enabled = 1
redis.session.lock_expire = 60
redis.session.lock_retries = -1
推荐阅读
- delphi - 无法在 Spring4D 中将默认参数值与比较器一起使用
- android - 在凌空响应之前片段更改时应用程序崩溃
- c# - 复制属性 c# 但检查是否已设置属性
- powerbi - WorkSpace 中的仪表板权限
- twilio - Twilio 在集合中嵌套游戏
- r - 旋转一列,同时将其余列保留在 R 中
- docker - Snakemake + docker 示例,如何使用卷
- java - Java,创建一个对象向量,编译后它的数组中应该有 n 个零
- java - 删除indoormap Android Studio上的折线
- java - HttpSessionBindingListener 在 TomCat 服务器上抛出 NullPointerException