php 错误时 apache 返回500,Apache 500错误引出的临时文件问题解决思路

本文主要和大家分享Apache 500错误引出的临时文件问题解决思路,希望能帮助到大家。

查看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文件了,为什么?只能是请求这些资源时动了临时文件,而临时文件没有多余空间了。

运行df -h

发觉果然如此Filesystem  Size  Used  Avail Use%  Mounted on

/dev/sda1  6.8G  6.5G  17M  100%  /

...

系统主目录/下已经爆掉了。

于是,查找大文件find / -type f -size +300M

发觉php插件Xdebug产生了很多性能分析文件,而且都是以100M记。/tmp/profiler/cachegrind.out.1336

/tmp/profiler/cachegrind.out.1329

....

于是修改php.ini,将分析文件存放在其它地方,或者干脆不保存。# close xdebug profiler in php.ini

xdebug.profiler_enable = off

再删除xdebug性能分析目录和php var跟踪目录rm -rf /tmp/profilter

rm -rf /tmp/trace

再次查看硬盘情况,发觉已使用为26%,剩余4.9G。

Filesystem  Size  Used  Avail Use%  Mounted on

/dev/sda1  6.8G  1.7G  4.9M  26%  /

...

甚至不用重启httpd服务器,刷新web,又正常运行了!!!

为免除后患,我们需要安装一个定时清理软件--tmpwatch,设置/etc/cron.daily/tmpwatch配置里面的定时时间usr/sbin/tmpwatch "$flags" 30d /var/tmp

改为7d(必须以天为单位)usr/sbin/tmpwatch "$flags" 7d /var/tmp

一个星期定时清理一次。

更多由Apache 500错误引出的临时文件问题分析解决相关文章请关注PHP中文网!

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值