Apache错误[通知]父级:子进程退出,状态为3221225477 - 正在重新启动

时间:2009-07-16 15:02:22

标签: php apache

我正在使用PHP5,CodeIgniter和Apache。 localhost php页面加载正常,然后突然他们开始崩溃Apache。

当apache崩溃时,网页似乎会进入不同的加载阶段。

Apache错误日志文件中唯一有趣的一行是:

[notice]父级:子进程退出,状态为3221225477 - 重新启动。

网上有很多关于这个问题的讨论,但似乎没有一个解决方案,不同的人已经描述了适用于他们系统的不同解决方案。

建议赞赏。

14 个答案:

答案 0 :(得分:27)

由于Apache的默认堆栈大小较小,因此Windows中经常会出现此问题。当使用分配了大量堆栈的PHP代码时,通常会发生这种情况。

要解决此问题,请在apache配置文件httpd.conf

的末尾添加以下内容
<IfModule mpm_winnt_module>
    ThreadStackSize 8888888
</IfModule>

AND重启apache。 我从这个site获取此解决方案。

答案 1 :(得分:7)

我找到了一个适合我的解决方案。

我将以下两个文件从我的PHP目录复制到Win32目录,并且错误已停止:php5apache.dll,libmysql.dll。

所以即使在某些情况下应该在PHP目录中找到这些文件,它们也需要在系统目录中

答案 2 :(得分:3)

在我的情况下,它是php扩展APC(php_apc.dll,3.1.10-5.4-vc9-x86,threadsafe),导致错误。

我使用XAMPP 1.8.2和PHP 5.4.19以及Apache 2.4.4

由于它也可能是由另一个扩展引起的,因此从xampp发行版中恢复原始php.ini可能是一个很好的起点。如果这个工作正常,请尝试逐行更改为所需的配置(从扩展名列表开始)。

答案 3 :(得分:2)

我们正在运行Apache的两个副本,每个副本都有自己的PHP版本。

在搜索此错误并尝试将文件复制到windows system32文件夹的不同建议后,我终于发现问题似乎是在windows路径中找到的libmysql.dll的多个副本。

将libmysql.dll文件复制到apache bin文件夹后,我们不再遇到此问题。

答案 4 :(得分:2)

我遇到了问题 - 检查完文件夹后,我发现我的php目录中没有php5apache.dll。所以我尝试从Win32文件夹中复制它 - 它已经大大改善了事情(我不会屏住呼吸:))

答案 5 :(得分:2)

我刚刚遇到这个问题一段时间,apache每5-15分钟重启一次。我的服务器服务于很多站点和一个流量很大的门户,我编写了门户网站,我只是想通了get_browser()函数有时会给出内存错误(取决于代理)。我刷新了browscap.ini,没有效果,重启仍然会发生,但据我删除使用此功能,apache不再重启。 我在Apache 2.0.5x中使用PHP 5.2.6 我希望这对其他人也有帮助。

答案 6 :(得分:2)

所以我的php目录中没有libmysql.dll,这似乎解决了这个问题。

我还将其添加到win32目录和apache bin目录

答案 7 :(得分:1)

我打电话时遇到同样的问题

$link = mysql_connect('127.0.0.1', $user, $password);
运行干净安装WampServer时从PHP脚本

(http://www.wampserver.com/en/)

我试图复制DLL,如上所述,但我无法让它工作。

最后我改为UniformServer(http://www.uniformserver.com/)5.6.16,它充当了魅力。

希望这篇文章可以节省一些时间: - )

答案 8 :(得分:1)

我在上面尝试过,但它们都没有用。

经过长时间的调查,这非常简单:在我的一个ajax文件中,我在PHP代码中使用了这行

mysqlclose用来();

这就是问题所在。 现在一切都很好。

刚才提到。 也许可以帮助人们缩短调试时间。

答案 9 :(得分:1)

在我的情况下,这是一个openssl_public_encrypt()函数。

答案 10 :(得分:1)

我有同样的问题。复制DLL并没有解决它。所以我再看了一遍,发现这个帖子的答案对我有用。 Why does my XAMPP Apache service keep restarting?

在我的Nvidia控制面板中,我最初没有看到FIrstPacket设置,所以我卸载了Nvidia ForceWare网络访问管理器,然后通过Nvidia驱动程序重新安装它。重新启动后,FirstPacket设置可见,我确保它已被禁用,然后一切正常。

答案 11 :(得分:1)

这是一个有问题的mysql DLL混合的问题。请参阅此处获取解决方案: http://www.java-samples.com/showtutorial.php?tutorialid=1050

将dll复制到system32不是最好的事情,所以我建议正确安装apache + php + mysql,而不是将文件复制到system32,因为一旦dll存在 - 它们将被加载而不是更新的版本dll ,在将来的更新中。

答案 12 :(得分:0)

将文件php5apache.dllxampp\php\复制到Windows\System32\

答案 13 :(得分:0)

看起来在某些 Windows 更新之后,如果您也设置了 open_basedir,则可能会出现此问题。这是我在https://www.apachelounge.com/viewtopic.php?p=39993
对我来说,注释掉 open_basedir 解决了这个问题并显着加快了网站速度。
如果适用,我计划进一步研究它并将其报告为错误。将使用任何新闻更新此答案。

报告为https://bugs.php.net/bug.php?id=80881