dougou6213 2016-02-22 15:07
浏览 41
已采纳

由Memcached处理的PHP会话仍在磁盘上

We have PHP5 FPM set up under Nginx. We use Memcached as our session handler.

session.save_handler=memcached

My expectation is that, without fail (notwithstanding some fatal error like the death of our Memcached server) that all sessions should make it to Memcached and explicitly NOT disk.

However, upon inspecting our application, I've found sessions on Memcached AND in /var/lib/php5/fpm/.

Some troubleshooting:

  1. We are definitely getting new sessions set on Memcached. However, some sessions that I found on disk, don't appear on Memcached
  2. The timestamps on the file based sessions are definitely recent - there are files in the current minute.
  3. Permissions on the files are for the installation user - not root.

Despite having said point 3 above, there are SOME files that have the root user and group ownership. This I find weird. Why would there be sessions owned by root? That would mean that anyone trying to check the file (that has 0600 permissions btw) would fail.

So, I guess my questions amount to:

  1. Is there any scenario in which it is valid that new session files are created on disk despite the fact that we use Memcached?
  2. Any idea why we'd have session files that have a root ownership?

For context: I'm researching very sporadic session expiry issues. After having increased Memcached memory limits and concurrent connections (and that ultimately fixing a large number of the instances) we're still experiencing a small amount of the session expiries. Anyway, that is simply context - might not be important.

  • 写回答

1条回答 默认 最新

  • dongyirong3564 2016-02-22 16:11
    关注

    The session files were created by php-cli started by cron. cli config differs from fpm one and uses default file session handler.

    Edit

    Importantly, the cronjob must either be hitting a piece of code that manually starts the session
    OR
    the configuration directive session.auto_start for PHP5-cli must be set to true

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示