【问题标题】:PHP5: Some Session files 0 length?PHP5:一些会话文件长度为 0?
【发布时间】:2009-01-16 04:41:11
【问题描述】:

我看到了一个奇怪的情况,我正试图找出是 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

这是正常行为吗?

TIA 迈克

【问题讨论】:

    标签: php session


    【解决方案1】:

    我想到了两种可能性,一种是您在共享主机环境中的磁盘空间不足,如果不是这种情况,那么您的网站可能会与其他会话超时时间短的网站共享其会话目录。

    gc_maxlifetime 设置默认为 1440 秒,但如果您与另一个设置低于此设置的网站共享相同的会话目录,那么它将过早删除您的会话,这来自 php 手册:

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

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

    【讨论】:

      【解决方案2】:
      <?php set_time_limit(100); ?>
      

      【讨论】:

        【解决方案3】:

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

        <?php set_time_limit(100); ?>
        

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

        【讨论】:

          猜你喜欢
          • 2014-01-11
          • 1970-01-01
          • 1970-01-01
          • 2018-02-07
          • 1970-01-01
          • 2014-07-27
          • 2012-01-22
          • 2017-11-10
          • 1970-01-01
          相关资源
          最近更新 更多