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% /
有什么想法吗?
答案 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% /