今天遇到一个怪异的情况,运行好好的网站,突然无法登陆了,点击登录页面刷新后没任何反应,查看登录的请求头,并未发现问题。想到可能是Session写入失败,想想会有如下几个点需要确认:
- PHP的配置错误
- 存储session的文件权限错误
- RP
所以查看PHP的配置:
session.save_handle=files
session.save_path = /tmp
并没有问题,phpinfo输出也没问题。
接着看了目录也没问题,权限也OK。但是生成的session文件为0K。。(看清楚是零K,不是OK!),并且内容为空。
接着我想自己生成一个文件试试:
[root@127 tmp]# touch test_session
# 提示无法创建,空间已满。。。
然后查看了服务器的磁盘空间,已经用了100%,所以创建失败。。
因为我平常开发时,使用的linux虚拟机给的磁盘空间为10G,并且测试了MongoDB的插入效率,所以把占据了大部分磁盘空间,删除MongoDB的数据后,应用恢复正常。
因为这种情况平时很少发生,所以记录下来,方便大家查阅。