apache 遇到 core 问题,apachecore


今天在学习php扩展,拷贝了一个例子程序,验证apache加载php模块时注册的变量常驻内存,页面请求调用php代码执行时初始化的变量在页面请求结束释放。编译安装完扩展后,重启apache,浏览器访问出现空白页,

1,首先检查apache错误日志,我是自己笔记本上玩的,ubuntu系统,apache使用的是apt-get安装,所以,日志文件在默认的路径下:/var/log/apache2/error.log。我靠,竟然有core错误。


既然core了,那就查看core文件吧。

2,由于我这个菜鸟没查过apache的core文件,所以网上一顿搜,“apache的core文件在哪?”。终于找到这篇文章  http://5iwww.blog.51cto.com/856039/761077

要查看core文件,还得开起apache指令CoreDumpDirectory?靠。那就加吧。于是 在apache配置文件里加上这么一行

CoreDumpDirectory /tmp/apache_coredump

重启apache,到 /tmp/apache_coredump 目录下面 ls 一下。空空如也。晕。

在 http://blog.csdn.net/tenfyguo/article/details/8159176 这篇文章中又发现这句话


于是执行 

ulimit  -c unlimited 

再重启apache,然后到 /tmp/apache_coredump 目录下面 ls 一下,


哎呀,你终于出来了,这下就好办了。

3, 执行 gdb apache2 core


原来是我在扩展里使用 fprintf写一个文件,而该文件不存在,果断创建之。 然后继续重启apache,再看apache错误日志,


coredump没有了。

4,打开本地 http://localhost/test.php  果然ok。

相关内容

    暂无相关文章