php session_start: failed No space left on device 28?

查看:424
本文介绍了php session_start: failed No space left on device 28?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

session_start open(sess_jhb2p2csr8ohj718dsp6725rh3, O_RDWR) failed No space left on device (28)

这种问题有解决过的吗?

解决方案

php session_start时,默认会在磁盘上创建一个代表session的临时文件,如果创建临时文件的空间没有或者没有权限,就会发生这个情况。可以调整session文件写入的位置或者干脆把session写到memcache或mysql中去,这个百度一下好多了。
另外注意:如果是写到磁盘,这个session文件的写入锁是一直到session_write_close被执行或者整个php程序文件被执行完毕才被释放的。所以,如果一个程序执行时间较长,而没有主动调用session_write_close()的话,那么这个进程会阻塞同一客户端其他也同样需要session的访问的,因为sessionid是一样的。这个坑要注意。
建议将session写入到memcache中,解决所有问题。如果memcache能够被其他机器访问,还能直接实现多应用服务器的session共享

这篇关于php session_start: failed No space left on device 28?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆