Php apache停止响应然后崩溃

Php apache停止响应然后崩溃,php,mysql,wordpress,apache,Php,Mysql,Wordpress,Apache,Apache(2.4.25 FPM/FastCGI)在我的wordpress多站点网站上停止响应并在一段时间后崩溃 出于某种原因,它曾经运行了好几天,直到我使用这个脚本github.com/interconnectt/Search-Replace-DB(可能不是原因)更改了wordpress(mu)域 重新启动后,它工作了大约一个小时,然后再次阻塞 我添加了一个mysql慢速查询日志,但它是空的 Apache错误日志有多个错误,如下所示: [Wed Sep 06 08:50:27.941819

Apache(2.4.25 FPM/FastCGI)在我的wordpress多站点网站上停止响应并在一段时间后崩溃

出于某种原因,它曾经运行了好几天,直到我使用这个脚本github.com/interconnectt/Search-Replace-DB(可能不是原因)更改了wordpress(mu)域

重新启动后,它工作了大约一个小时,然后再次阻塞

我添加了一个mysql慢速查询日志,但它是空的

Apache错误日志有多个错误,如下所示:

[Wed Sep 06 08:50:27.941819 2017] [proxy_fcgi:error] [pid 25444:tid 140610719610624] (70007)The timeout specified has expired: [client x.x.x.x:53398] AH01075: Error dispatching request to : (polling)
偶尔也会出现这样的错误:

[Wed Sep 06 09:13:33.296777 2017] [core:notice] [pid 10710:tid 140611211331392] AH00051: child pid 25582 exit signal Segmentation fault (11), possible coredump in /opt/bitnami/apache2
另一个偶发错误(由于多个AH01075超时错误而预期):

停止mysql服务器会杀死我的站点,但似乎可以让apache正常工作,至少在我测试的一两个小时内

以下进程列表中mysqld.bin的457452值是否正常?(ps-e-orss=,args=| sort-b-k1,1n | pr-TW$列)

PHP版本5.6.30

mysql.bin版本14.14发行版5.6.36

Ubuntu 14.04.5(AWS上的bitnami图像)

apache未响应时的内存使用情况:已使用:883mb/992mb

php.ini脚本内存限制=128M


把它放在评论里有点长,所以作为回答回答回答

您是否记录了任何php错误?根据你目前的陈述,我的理论是:

  • 您使用该脚本来搜索和替换数据库,但它执行得很差,导致数据格式错误或损坏
  • 这导致依赖mysql的php脚本由于数据格式错误或损坏而失控
  • 因为fcgi上的php没有响应,所以apache会等待它并保留资源
  • 所有的请求都挂起,现在资源耗尽,开始seg故障处理
  • 然后愚蠢的阿帕奇,看到你已经没有孩子了,要求你提高它,却没有意识到你已经无缘无故地耗尽了物质资源。典型的apache
  • 因为apache现在已经没有免费的孩子了,它不能再接受任何请求了,而且看起来好像所有apache都坏了,尽管它只是被糟糕的fcgi进程阻塞了
  • 如果我的理论是正确的,你应该这样做

  • 检查mysql数据是否没有损坏

  • 检查mysql中被替换的数据是否符合预期

  • 检查PHP错误日志,因为如果可以,他们应该记录一些东西

  • 您应该隔离导致阻塞的PHP进程,如果仅清理数据还不够,则应将其删除。理想情况下,无论数据有多糟糕,php程序都应该干净地死掉


  • 祝你狩猎好运。

    哪个操作系统?崩溃时的内存使用情况如何?最后,您是否在内核日志中看到任何错误?如果有,该值非常低。但由于您的错误看起来确实像是非OOMkilled内存不足。。。有多少内存可用?@LSerni总计1GB,php脚本内存限制=128M,出于某种原因,它过去运行良好几天,直到我使用此脚本更改wordpress域(可能不是原因)@Anthony'Runt'切断Ubuntu 14.04.5(AWS上的bitnami图像)内存使用,而apache没有响应:使用:883mb的992MB内存,我只有在内存不足时才看到分割错误。我建议增加内存限制,只是为了看看这是否有助于解决问题,但在你的另一篇文章中,你说你已经接近极限。你是对的。我不确定是什么数据损坏,但恢复到旧数据库修复了问题。
    [Mon Sep 04 20:18:58.758718 2017] [mpm_event:error] [pid 19928:tid 140675798046528] AH00484: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
    
    2128 /sbin/init
    2400 php-fpm: master process (/opt/bitnami/php/etc/php-fpm.conf)
    3840 -bash
    4244 sshd: ubuntu [priv]
    6928 /usr/bin/gonit
    11036 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
    11320 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
    11364 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
    11592 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
    20592 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
    57668 php-fpm: pool wordpress
    57716 php-fpm: pool wordpress
    65252 php-fpm: pool wordpress
    67608 php-fpm: pool wordpress
    68776 php-fpm: pool wordpress
    457452 /opt/bitnami/mysql/bin/mysqld.bin --defaults-file=/opt/bitnami/mysql/my.cnf --basedir=/opt/bi