Suntxu 2021-06-04 16:12 采纳率: 100%
浏览 126
已采纳

php执行一个运行时间很长的程序 运行到一半apache会关了apache报错如下

  • apache error日志文件报错

[Fri Jun 04 15:56:39.784698 2021] [mpm_winnt:notice] [pid 330104:tid 452] AH00354: Child: Starting 150 worker threads.
[Fri Jun 04 15:57:10.965938 2021] [mpm_winnt:notice] [pid 326196:tid 456] AH00362: Child: Waiting 30 more seconds for 1 worker threads to finish.
[Fri Jun 04 15:57:27.829506 2021] [mpm_winnt:notice] [pid 330104:tid 452] AH00363: Child: Terminating 66 threads that failed to exit.
[Fri Jun 04 15:57:27.829506 2021] [mpm_winnt:notice] [pid 330104:tid 452] AH00364: Child: All worker threads have exited.

 

 

  • apache  httpd.conf 文件如下

    <IfModule mod_fcgid.c>

        AddHandler fcgid-script .fcgi .php

        #php.ini的存放目录

        FcgidInitialEnv PHPRC "C:/wasp/php-7.3.25"

        # 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出

        FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000

        #php-cgi每个进程的最大请求数

        FcgidMaxRequestsPerProcess 1000

        #php-cgi最大的进程数

        FcgidMaxProcesses 128

        #最大执行时间

        FcgidIOTimeout 120

        FcgidIdleTimeout 120

        #php-cgi的路径

        FcgidWrapper "C:/wasp/php-7.3.25/php-cgi.exe" .php

        AddType application/x-httpd-php .php

        #上传文件最大限制

        FcgidMaxRequestLen  1572864

        MaxRequestsPerChild 50 


    </IfModule>

  • 写回答

3条回答 默认 最新

  • Suntxu 2021-07-19 15:26
    关注

    找了一圈除了换成 nginx 都没有什么好办法,但是在实际的生产环境中并不可能这样做。
    后来又发现了这种问题,最后用php写了个脚本 ,直接用php.exe 执行脚本这个问题就解决了,因为php直接执行脚本就和apache没有任何关系了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 7月19日

悬赏问题

  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆