LAMP错误:session_start()失败:设备(28)上没有剩余空间,但是

时间:2011-12-22 21:04:16

标签: php linux apache lamp

Ubuntu服务器10.04,Apache 2.2.14,PHP 5.3.2,MySQL。 对于存储会话文件的驱动器:

df -h:

Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              450G   86G  341G  21% /

df -ih:

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/md1                116M    9.4M    107M    9% /

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

终于记得用解决方案回答!事实证明,一个目录中有太多文件。不得不开始将会话文件散列到子目录中。

答案 1 :(得分:1)

Apache无法在文件上注册锁定时报告此错误(它假设是因为fs已满)。下次发生时尝试运行

ipcs -s

并查找apache进程拥有的大量已注册锁。然后,您可以使用ipcrm删除它们,或者使用内核变量(kernel.sem)提高它们的限制,如上所述In this blog post

答案 2 :(得分:0)

只需检查存储会话文件的php.ini文件,然后检查可用空间,如果是100%使用,则更改fstab配置(如果是(重新)安装的目录)并重新启动服务器,或更改路径并重新启动Apache服务器。

就我而言:

evo ~ # locate php.ini
/etc/php/apache2-php5/php.ini
/etc/php/cli-php5/php.ini

evo ~ # grep -v ";" /etc/php/apache2-php5/php.ini | grep session | grep path
session.save_path = "/tmp"
session.cookie_path = /

evo ~ # grep -v ";" /etc/php/cli-php5/php.ini | grep session | grep path
session.save_path = "/tmp"
session.cookie_path = /

evo ~ # df -ha /tmp   
Filesystem            Size  Used Avail Use% Mounted on
/dev/root             230G   27G  203G  12% /

evo ~ # df -ha / 
Filesystem            Size  Used Avail Use% Mounted on
/dev/root             230G   27G  203G  12% /