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

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日

悬赏问题

  • ¥60 补全networkx TODO部分。
  • ¥15 有内推吗,云计算linux运维方向
  • ¥30 sort cuteSV.vcf by bcftools用IGV可视化出现报错
  • ¥100 SOS!对STK中导出的天体图像进行质心提取有没有人做过啊
  • ¥15 python 欧式距离
  • ¥15 运行qteasy报错
  • ¥15 遗传算法解决有工序顺序约束的大规模FJSP问题
  • ¥15 企业消防水炮塔设计方案
  • ¥20 WORKBENCH网格划分
  • ¥15 关于#51单片机#的问题:51单片机LM1602的数据只能显示一个字符,在使用矩形键盘送数据的时候不能显示出来而是在显示初始位置上,达不到密码锁的效果