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

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日

悬赏问题

  • ¥15 Pwm双极模式H桥驱动控制电机
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题