代码之家  ›  专栏  ›  技术社区  ›  Mike Crowe

php5:一些会话文件的长度是0?

  •  1
  • Mike Crowe  · 技术社区  · 16 年前

    我看到了一个奇怪的情况,我试图弄清楚它是PHP问题、文件问题还是正常操作。我有一些用户抱怨我们网站的超时非常快(会话是否过期?),并检查php tmp目录,我看到如下内容:

    -rw------- 1 www-data www-data  377 2009-01-15 22:46 sess_fc789ce04a3d54ce929a401cd33ea868
    -rw------- 1 www-data www-data 1167 2009-01-15 23:21 sess_fcb67b1f44a3669d8ffee69d5fa9a2e8
    -rw------- 1 www-data www-data    0 2009-01-15 23:22 sess_fe0ab79c78c612d71ecca575753afdc4
    -rw------- 1 www-data www-data    0 2009-01-15 23:07 sess_fedd46db2b023215cb060d67a01d3382
    -rw------- 1 www-data www-data    0 2009-01-15 23:21 sess_feec900e144c011303a9f06eb428574e
    -rw------- 1 www-data www-data    0 2009-01-15 23:00 sess_ffb2ed75ca311d08e41ec69c7d708d08
    -rw------- 1 www-data www-data 1142 2009-01-15 22:49 sess_ffc2c882af3b3ad39b844dc5a530dc44
    -rw------- 1 www-data www-data    0 2009-01-15 22:51 sess_fffbd6f7734ce3b4ef9d8009a324a459
    

    这是正常行为吗?

    蒂亚 迈克

    3 回复  |  直到 12 年前
        1
  •  1
  •   Luke P M    16 年前

    有两种可能,一种是共享主机环境中的磁盘空间不足,如果不是这样,则您的网站可能正在与会话超时时间较短的其他网站共享其会话目录。

    gc_maxlifetime设置默认为1440秒,但是如果您与另一个设置低于此值的网站共享同一会话目录,那么它将过早地从PHP手册中删除您的会话:

    注意:如果不同的脚本具有不同的session.gc_MaxLifetime值,但共享相同的位置来存储会话数据,则具有最小值的脚本将清除数据。在这种情况下,请将此指令与session.save_path一起使用。

    因此,我建议将会话保存路径更改为Web服务器具有写入权限的其他目录。

        2
  •  0
  •   John Kurlak    16 年前
    <?php set_time_limit(100); ?>
    
        3
  •  0
  •   erlando    16 年前

    我不确定你的确切意思,但你可以试着说:

    <?php set_time_limit(100); ?>
    

    在每一页的顶部。也许吧?对不起=