PHP5:一些会话文件长度为0?

时间:2009-01-16 04:41:12

标签: php session

我看到一个奇怪的情况,我正在试图弄清楚它是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 麦克

3 个答案:

答案 0 :(得分:1)

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

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

  

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

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

答案 1 :(得分:0)

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

<?php set_time_limit(100); ?>

位于每页的顶部。也许?对不起= /

答案 2 :(得分:0)

<?php set_time_limit(100); ?>