当我使用带有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"
对于memcached:
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"
它是否可以依赖于会话锁定之类的东西? 停用/激活它对我没有帮助。
processwire github存储库中的问题: https://github.com/processwire/processwire-issues/issues/798
答案 0 :(得分:1)
我找到了解决方案。我在php.ini中添加了以下内容
redis.session.locking_enabled = 1
redis.session.lock_expire = 60
redis.session.lock_retries = -1