查看apache日志。发觉是mod_fcgid模块异常。提示"Connection reset by peer:mod_fcgid:error reading data from FastCGI server"。"Premature end of script headers:index.php"。"process /usr/... apache/cgi-bin exit(communication error, get unexpected signal 7"。说白了就是php提前终止执行。没有返回header就退出。
我依据这些错误在网上搜索了很久。始终没有找到满意答案。甚至还被人误导。以为mod_fcgid模块配置的问题。
在没有找到解决方法之前。我一直在想。php最近虽然慢了点。但至少能运行。说明配置是没有问题;而且。如果现在执行phpinfo()。程序依然能够执行。我再次梳理出错规律。发觉include多的mvc框架就会提示500内部错误。其它简单的程序就能够运行。这说明什么?!说明php已经不能include文件了。为什么?只能是请求这些资源时动了临时文件。而临时文件没有多余空间了。
运行
?
1 | df -h |
发觉果然如此
?
123 | Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 6.5G 17M 100% / ... |
系统主目录/下已经爆掉了。
于是。查找大文件
?
1 | find / - type f -size +300M |
发觉php插件Xdebug产生了很多性能分析文件。而且都是以100M记。
?
123 | /tmp/profiler/cachegrind.out. 1336 /tmp/profiler/cachegrind.out. 1329 .... |
于是修改php.ini。将分析文件存放在其它地方。或者干脆不保存。
?
12 | # close xdebug profiler in php.ini xdebug.profiler_enable = off |
再删除xdebug性能分析目录和php var跟踪目录
?
12 | rm -rf /tmp/profilter rm -rf /tmp/trace |
再次查看硬盘情况。发觉已使用为26%。剩余4.9G。
?
123 | Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 1.7G 4.9M 26% / ... |
甚至不用重启httpd服务器。刷新web。又正常运行了!!!
为免除后患。我们需要安装一个定时清理软件--tmpwatch。设置/etc/cron.daily/tmpwatch配置里面的定时时间
?
1 | usr /sbin/tmpwatch "$flags" 30d /var/tmp |
改为7d(必须以天为单位)
?
1 | usr /sbin/tmpwatch "$flags" 7d /var/tmp |
一个星期定时清理一次。
本文地址:https://gpu.xuandashi.com/40873.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!