最近的一个项目上,因为用的thinkphp,突然报错提示_STORAGE_WRITE_ERROR_,经查询原因得知,是因为服务器空间满了导致无法写入缓存或者其他文件的原因,因为用的linux服务器,所以用df -h查看服务器情况,发现还有很多的剩余空间,在百般焦急的情况下,想到了inode这个东西,话说叫什么节点的东西咱也不太懂,用df -i发现这个东西满了导致的问题,于是查询到底什么文件占用了如此多的inode数呢?经过查询,发现thinkphp缓存文件temp这个临时文件夹下有大量的文件,估计有几百万个,而thinkphp并没有好的机制不让它生成,于是只能通过手动去删除,费时费力!
但是鉴于使用的宝塔linxu的原因,里面有个计划任务,于是想到了定时删除的方式来做一个计划删除,利用linux的命令 rm -rf 来每周清空temp文件夹下的文件,这样就达到了清除的目的!从而不再会出现inode不够的情况!
希望用thinkphp的同学可以作为借鉴,据说是新版版的thinkphp解决了这个问题,thinkphp3.2版本的可以进行参考!