php debug时自动退出

php.ini 文件内配置脚本退出时间

max_execution_time=0

如何你用的是apache的话, 或者phpstudy(phpstudy中的apache)
根据调试时中断debug, apache日志得出的结果

mod_fcgid: read timeout from pipe

解决方案

设置apache的配置文件 httpd.conf , 并在文件末尾设置

FcgidIOTimeout 6000000   # 6000 秒
FcgidConnectTimeout 6000000  # # 6000 秒
KeepAliveTimeout 6000  # 保持活动时间
Timeout 6000   # 超时时间

在这里插入图片描述

httpd.conf 文件就在 conf 文件夹下

如何你不想应用到全部应用上,也可以配置到 vhost中(虚拟目录)

在这里插入图片描述

配置完成重启apache服务器

在这里插入图片描述

此时调试不再退出

原因

mod_fcgid: read timeout from pipe: 这部分指示出现的错误消息。它说明在 FastCGI 进程和 Apache 之间的管道通信中发生了一个读取超时。

这个错误表明 FastCGI 进程在处理请求时花费了太长时间,导致 Apache 服务器等待超时,而没有收到预期的响应。可能的原因是 FastCGI 进程执行的任务过于繁重或者某个请求处理逻辑存在问题,导致请求无法及时完成。

得知原因我们可以通过调整 Apache 的 FcgidIOTimeoutFcgidConnectTimeout 参数,以适应实际请求处理的情况。

Timeout: 这是 Apache 配置中用于设置请求超时时间的指令。
6000: 这是将请求超时时间设置为 6000 秒。换句话说,如果 Apache 服务器在接收到请求后,等待超过 6000 秒仍未收到响应,则会终止该请求,并向客户端返回错误。

KeepAliveTimeout: 这是 Apache 配置中用于设置 Keep-Alive 连接的超时时间的指令。
6000: 这是将 Keep-Alive 连接的超时时间设置为 6000 秒。换句话说,一旦客户端和服务器建立了 Keep-Alive 连接,服务器会在 6000 秒内保持这个连接开启,等待可能的后续请求。如果在超时时间内没有新的请求到达,服务器会主动关闭该 Keep-Alive 连接。

调试技巧

如果页面出现一些不知原因的错误时,可以在 apche的 httpd.conf 文件中配置调试等级,这样会在日志文件中出现更多的调试信息

httpd.conf

LogLevel debug

设置 LogLevel 为debug后几乎能通过这些调试信息发现问题, 如果不是源码的问题,那么你可以设置这个通过查看日志发现问题

日志位置:

你的apache目录/logs/error.log
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值