环境是win2008,apache 2.4.29 Win64 VC15,php 7.1.10(7.1.11)。事件完整内容:

“--------------------------

错误应用程序名称: httpd.exe,版本: 2.4.29.0,时间戳: 0x59e9c9a6
错误模块名称: ntdll.dll,版本: 6.1.7601.23915,时间戳: 0x59b94ee4
异常代码: 0xc0000005
错误偏移量: 0x000000000004f23c
错误进程 ID: 0x900
错误应用程序启动时间: 0x01d388072496fd60
错误应用程序路径: D:\xwamp\Apache\bin\httpd.exe
错误模块路径: C:\Windows\SYSTEM32\ntdll.dll
报告 ID: c896327e-f3fe-11e7-8745-ff2c4350ba8c

--------------------------”

apache日志中频繁定期出现重启

[mpm_winnt:notice] [pid 1040:tid 392] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[mpm_winnt:notice] [pid 3208:tid 296] AH00364: Child: All worker threads have exited.
[mpm_winnt:notice] [pid 1040:tid 392] AH00430: Parent: Child process 3208 exited successfully.
[mpm_winnt:notice] [pid 1028:tid 392] AH00455: Apache/2.4.29 (Win64) OpenSSL/1.1.0f configured -- resuming normal operations
[mpm_winnt:notice] [pid 1028:tid 392] AH00456: Apache Lounge VC15 Server built: Oct 20 2017 12:12:11
[core:notice] [pid 1028:tid 392] AH00094: Command line: 'D:\\xwamp\\Apache\\bin\\httpd.exe -d D:/xwamp/apache -d D:\\xwamp\\Apache -f D:\\xwamp\\conf/httpd.conf'
[mpm_winnt:notice] [pid 1028:tid 392] AH00418: Parent: Created child process 1604
[mpm_winnt:notice] [pid 1604:tid 296] AH00354: Child: Starting 350 worker threads.

=====处理思路记录===

网上出现类似错误的帖子和网页有很多,基本都是提问的,没有回答。

1.可能设置了MaxConnectionsPerChild值使得定期重启。

将改值设置为0,观察一段时间后,还是出现这样的情况。无效。

2.手贱安装搜狗输入法,卸载之。发现还是没有解决。

3.重新安装官方版本的vc2017.待观察效果如何。

4.将php目录和其ext目录加入环境path中.待观察效果如何。

问题仍然存在。

=====新的问题记录===

PHP错误日志:

PHP Fatal error:  Couldn't find implementation for method Nil\\Base\\Headers::getiterator in Unknown on line 0

PHP Fatal error:  Couldn't find implementation for method Nil\\Log::getiterator in Unknown on line 0

紧接着apache错误事件

错误应用程序名称: httpd.exe,版本: 2.4.29.0,时间戳: 0x59e9c9a6
错误模块名称: php7ts.dll,版本: 7.1.11.0,时间戳: 0x59f1053d
异常代码: 0xc0000005
错误偏移量: 0x000000000001d953
错误进程 ID: 0xfd8
错误应用程序启动时间: 0x01d3882389b740bc
错误应用程序路径: D:\xwamp\Apache\bin\httpd.exe
错误模块路径: D:\xwamp\php\php-7.1.11-Win32-VC14-x64\php7ts.dll
报告 ID: 9d32a94e-f41e-11e7-8bb8-e17153452aaf

=====处理思路记录===

1.php7ts使用的vc14,重新安装vc14吧。VC15 is backward compatible to VC14. That means, a VC14 module can be used inside a VC15 binary (for example PHP VC14 as module).不需要安装vc14.

2.将php升级到当前最新版本7.1.13。

还是没有用。。。

=====处理思路记录===

1.使用ab测试,大量并发处理,直接出现错误

apr_pollset_add(): Not enough space (12)

与此同时,服务器出现之前的错误事件。

2.ab测试静态文件,没有问题。ab测试单个php文件,没有问题。

3.所以嘛,最终的原因就是php占用太多的资源导致。

4.将nilcms框架的log日志关闭,定义一个简单路由(不写入任何文件日志),ab测试之,完好无损!!

因此,下面分析:

服务器中大量的请求,导致频繁写入日志,使得资源占用过高,导致apache异常频繁重启。

验证:

查看服务器中出现错误的那一刻,访问的请求数量。五六个并发而已,就挂掉了。。。(穷。。。)

========但是没有这么简单========

1.开启opcache,目前没有发现问题。

2.框架也有问题,测试发现使用ArrayObject类,ab测试就会崩溃,继续测试中。

apache 运行一段时间出现错误的更多相关文章

  1. WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)

    WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...

  2. k8s的flannel的pod运行一段时间init error

    问题现象 使用Kubeadm部署的flannel网络运行一段时间后,提示init:Error错误,查看具体的信息如下: [root@node1 ~]# kubectl describe pod kub ...

  3. 【生产环境】Tomcat运行一段时间后访问变慢分析历程

    环境运行一天或者几天,网站访问就很卡,手机端app访问页面出现白屏.Tomcat运行一段时间后访问变慢,但是cpu,内存都正常.日志也是发现不了啥.... 问题的原先分析 1.环境配置(cpu,内存, ...

  4. tomcat运行一段时间后报错"Too many open files"

    tomcat运行一段时间后报打开太多文件错误:Too many open files  查看当前进程的文件打开数: lsof -n |awk '{print $2}'|sort|uniq -c |so ...

  5. 【原创】大叔经验分享(54)flume kudu sink运行一段时间kudu client报错

    flume kudu sink运行一段时间报错: 19/05/05 10:15:56 WARN client.ConnectToCluster: Error receiving a response ...

  6. Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法

    Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法 最近自己下载了最新版本的Pycharm,运行程序过程中发现,在运行一段时间后(比如10几分钟),Py ...

  7. java程序运行一段时间之后停止

    原创文章,未经作者允许,禁止转载!!!!!!! 如何用java是一段代码运行一段时间之后自动停止运行? 就拿打印随机函数的代码来做例子吧,让程序随机打印1-10的数字,打印十秒钟后停止打印: publ ...

  8. mysql5.6运行一段时间之后网站页面出现乱码解决办法

    mysql5.6运行一段时间之后网站页面出现乱码,怎么都打不开,经过排查之后,知道是数据库默认字符集出问题了,在此分享给大家经验. 在mysql5.6配置文件:my.ini 找到: 添加如下内容: [ ...

  9. 网站运行一段时间后就无法访问,重启Tomcat才能恢复

    网站运行一段时间后就无法访问,重启Tomcat才能恢复出现这种情况,很可能是以下几种情况:1.超过数据库连接池上限2.并发数达到上限3.内存溢出具体还是需要通过打印的日志进行具体分析.解决方法1.如果 ...

随机推荐

  1. JAVA调用FTP上传文件

    import java.io.File; import java.io.FileInputStream; import org.apache.commons.net.ftp.FTP; import o ...

  2. CPP2-基础部分(1)

    参考自<c++ primer 5th zh>,本系列将会接着将<The C++ Programming Language 4th Ed><c++ primer plus ...

  3. jqgrid 主键列的设定

    1.如果需要对jqgrid表格数据有互动操作,需要设定主键列. 2.主键列的作用为:在进行jqgrid表格数据交互(编辑.新增.删除行)时,是通过主键列的值来作为引导值来的. 3.注意:不要给一个jq ...

  4. Ubuntu下搭建Ruby On Rails

    Ruby on Rails是一个非常高效的Web应用程序框架由David Heinemeier Hansson使用Ruby语言编写. 这是一个开源 Ruby 框架,用于开发数据库支持的Web应用程序. ...

  5. 1.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——开始第一条命令

    现在开始准备运行我们的第一条命令了,在屏幕上打印'hello'.(字符打印的地方被称为'标准输出',通常指的是屏幕,很少指真的物理打印机设备).这条命令就是echo,这条命令的参数是想要输出的字符串或 ...

  6. 在testbench从文件读入激励

    在验证verilog逻辑模块功能时候,我们可以从文件中读入激励,便于大规模的验证.文件中的数据我们可以用c++编写程序产生. 第一种读入文件的方法是用系统函数:$readmemb, readmemh, ...

  7. DotNetCore部署(IIS)文档

    安装IIS 在控制面板→程序→启用或关闭Windows功能→勾选Internet Information Services以及Web管理工具下的IIS管理控制台 一.安装AspNetCoreModul ...

  8. 微信小程序云开发之云函数创建

    云函数 云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写.一键上传部署即可运行后端代码. 小程序内提供了专门用于云函数调用的 API.开发者可以在云函数内使用 wx-server-sdk ...

  9. SSIS 包配置

    在商业智能解决方案中,SSIS工程有两种部署模式:工程部署(project deployment)和包部署(package deployment),默认是工程部署模式,在Package的管理上,工程部 ...

  10. Join 和 Apply 用法全解

    在关系型数据库系统中,为了满足第三范式(3NF),需要将满足“传递依赖”的表分离成单独的表,通过Join 子句将相关表进行连接,Join子句共有三种类型:外连接,内连接,交叉连接:外连接分为:left ...