详解 WordPress 目录下的 core 文件

一个很意外的事件让我发现了这种以 core 开头的文件,通常这种文件都比较大,一个文件都有几十兆之多。本文就针对 WordPress 目录下的 core 文件做下详细的解析。

昨天在发博文时,发现在 WordPress 后台无法上传图片了,提示信息是“上传的文件无法转移到/home/yzznl.cn/wp-content/uploads/2010/09”,然而只发布文字的话可以正常发布。仔细检查了原因,发现是服务器空间用完了,因为图片占用的空间比文字要大的多,所以出现了文字可以正常发布,而图片上传不了的状况,本次错误截图如下:

wordpress 无法上传图片错误提示

wordpress 无法上传图片错误提示

然后我就登陆FTP检查了下空间,发现在 WordPress 根目录下有很多诸如:core.20866,core.18063之类的文件,这些文件动不动就是上百兆,也就难怪空间被占用完了,二话不说,直接把这类文件删除后,图片就可以正常上传了。

1.core 文件简介

在一个程序崩溃时,一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。也就是说这种文件是程序意外中断时候生成的 debug 用的文件。这些文件对于普通用户没啥用,可以直接删除。

看看我Wordpress目录下的core文件

看看我Wordpress目录下的core文件

2.如何开启或关闭 core 文件的生成

用以下命令来阻止系统生成core文件:

ulimit -c 0

下面的命令可以检查生成core文件的选项是否打开:

ulimit -a

该命令将显示所有的用户定制,其中选项-a代表“all”。

你也可以修改系统文件来调整 core 选项

在/etc/profile通常会有这样一句话来禁止产生core文件,通常这种设置是合理的:

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

但是在开发过程中有时为了调试问题,还是需要在特定的用户环境下打开core文件产生的设置。在用户的~/.bash_profile里加上ulimit -c unlimited来让特定的用户可以产生core文件,如果ulimit -c 0 则也是禁止产生core文件,而ulimit -c 1024则限制产生的core文件的大小不能超过1024kb。

3.如何使用 core 文件

在 core 文件所在目录下键入:

gdb -c core

它会启动GNU的调试器,来调试core文件,并且会显示生成此core文件的程序名,中止此程序的信号等等。如果你已经知道是由什么程序生成此core文件的,比如 MyServer 崩溃了生成 core.12345,那么用此指令调试:

gdb -c core MyServer

如果你也像我一样,哪天发现图片文件上传不了的话。园子建议你看看是否是因为空间被占满,在这种情况下就需要你登陆 FTP 之后,检查下是否有类似于以 core 开头的冗余数据,把这些删除问题就解决了。

其实园子也是现学现卖的,对于 core 文件的上述信息都是在 Google 里面边搜索边总结出来的,各位朋友如果发现有什么问题,欢迎留言指出,非常感谢。

详解 WordPress 目录下的 core 文件》上有75条评论

  1. 青墨

    我也出现这种情况了,但是服务器是美国那边的,不能直接进行操作,有什么办法可以组织core文件的生成呢?请指教!
    先行谢过!

发表评论