PHP / ProcessWire CMS和session.save_handler = redis / memcached

时间:2019-02-05 11:51:59

标签: php phpredis processwire

当我使用带有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

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我在php.ini中添加了以下内容

redis.session.locking_enabled = 1
redis.session.lock_expire = 60
redis.session.lock_retries = -1